# Local Modules

struct WpImplModule

  Used to load PipeWire modules within the WirePlumber process. This is slightly different from other objects in that the module is not exported to PipeWire, but it may create an export objects itself.

  Since

    0.4.2

  Remark

  When the "client-context" component is loaded, which is the case in the default daemon configuration, the module is loaded in a secondary `pw_context` that runs on its own thread, so that it is not affected by anything that blocks WirePlumber's main loop. The WpImplModule itself stays on the thread that created it and its API is unchanged; the module's own callbacks, though, run on that other thread. If the component is not loaded, the module is loaded in the core's `pw_context` instead.

WpImplModule *wp_impl_module_load(WpCore *core, const gchar *name, const gchar *arguments, WpProperties *properties)

  Loads a PipeWire module into the WirePlumber process.

  Since

    0.4.2

  Parameters:

    - core -- (transfer none): The WirePlumber core

    - name -- (transfer none): the name of the module to load

    - arguments -- (nullable) (transfer none): arguments to be passed to the module

    - properties -- (nullable) (transfer none): additional properties to be provided to the module

  Returns:

    (nullable) (transfer full): the WpImplModule for the module that was loaded on success, NULL on failure.

void wp_impl_module_unload(WpImplModule *self)

  Unloads the PipeWire module immediately.

  Normally, the module is unloaded when the last reference to self is dropped and the object is finalized. This method allows unloading the module at a deterministic point in time, without having to rely on the object's lifetime, which is useful when the module needs to be torn down before another one that provides the same objects is loaded.

  It is safe to call this method multiple times; subsequent calls have no effect. The WpImplModule object itself remains valid after the call.

  Since

    0.5.16

  Parameters:

    - self -- the module

WP_TYPE_IMPL_MODULE (wp_impl_module_get_type())

  The WpImplModule GType.

  Since

    0.4.2