Commit 129b44bb authored by Arun Raghavan's avatar Arun Raghavan Committed by George Kiagiadakis
Browse files

doc: Add WpImplModule docs for the C and Lua API

parent ef29018c
Pipeline #384008 passed with stages
in 1 minute and 27 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