Commit 9309e3d6 authored by Arun Raghavan's avatar Arun Raghavan
Browse files

doc: Add WpImplModule docs for the C and Lua API

parent 6ac566fc
Pipeline #383722 passed with stages
in 2 minutes and 4 seconds
......@@ -27,6 +27,7 @@ C API Documentation
c_api/endpoint_api.rst
c_api/spa_device_api.rst
c_api/impl_node_api.rst
c_api/impl_module_api.rst
c_api/properties_api.rst
c_api/spa_type_api.rst
c_api/spa_pod_api.rst
......
.. _impl_module_api:
Local Modules
=============
.. graphviz::
:align: center
digraph inheritance {
rankdir=LR;
GObject -> WpImplModule;
}
.. doxygenstruct:: WpImplModule
:members:
.. doxygengroup:: wpimplmodule
:content-only:
......@@ -6,6 +6,7 @@ sphinx_files += files(
'device_api.rst',
'endpoint_api.rst',
'global_proxy_api.rst',
'impl_module_api.rst',
'impl_node_api.rst',
'iterator_api.rst',
'link_api.rst',
......
......@@ -17,3 +17,4 @@ Lua API Documentation
lua_api/lua_proxies_api.rst
lua_api/lua_session_item_api.rst
lua_api/lua_spa_device_api.rst
lua_api/lua_local_module_api.rst
......@@ -130,6 +130,8 @@ other GObject, GInterface userdata holding reference to the object
other GBoxed userdata holding reference to the object
================================ ===============================================
.. _lua_gobject_lua_to_c:
Lua to C
^^^^^^^^
......
.. _lua_local_module_api:
Local Modules
=============
The `LocalModule` object (which binds the :c:struct:`WpImplModule` C API) provides a way
to load PipeWire modules in the WirePlumber process. Instantiating the object
loads the module, and when the last reference to the returned module object is
dropped, the module is unloaded.
Constructors
~~~~~~~~~~~~
.. function:: LocalModule(name, arguments, properties)
Loads the named module with the provided arguments and properties (either of
which can be nil).
`name` is the module name, such as `"libpipewire-module-loopback"`.
`arguments` should be either `nil` or a string with the desired module
arguments.
`properties` can be nil or a table that can be :ref:`converted
<lua_gobject_lua_to_c>` to :c:struct:`WpProperties`.
......@@ -2,6 +2,7 @@
sphinx_files += files(
'lua_core_api.rst',
'lua_gobject.rst',
'lua_local_module_api.rst',
'lua_introduction.rst',
'lua_log_api.rst',
'lua_object_api.rst',
......
......@@ -206,5 +206,5 @@ SANDBOX_EXPORT = {
Link = WpLink_new,
Pod = WpSpaPod,
State = WpState_new,
ImplModule = WpImplModule_new,
LocalModule = WpImplModule_new,
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment