Component Loader¶
digraph inheritance { rankdir=LR; GObject -> WpObject; WpObject -> WpPlugin; WpPlugin -> WpComponentLoader; }-
struct
WpComponentLoader
¶ The component loader is a plugin that provides the ability to load components.
Components can be:
WirePlumber modules (libraries that provide WpPlugin and WpSiFactory objects)
PipeWire modules (libraries that extend libpipewire)
Scripts (ex. lua scripts)
Configuration files
The WirePlumber library provides built-in support for loading WirePlumber and PipeWire modules, without a component loader. For other kinds of components, like the lua scripts and config files, a component loader is provided in by external WirePlumber module.
-
struct
_WpComponentLoaderClass
¶ Public Members
-
WpPluginClass
parent_class
¶
-
gboolean (*
supports_type
)(WpComponentLoader *self, const gchar *type)¶
-
gboolean (*
load
)(WpComponentLoader *self, const gchar *component, const gchar *type, GVariant *args, GError **error)¶
-
WpPluginClass
-
gboolean
wp_core_load_component
(WpCore *self, const gchar *component, const gchar *type, GVariant *args, GError **error)¶ Loads the specified component on self.
The type will determine which component loader to use. The following types are built-in and will always work without a component loader:
”module” - Loads a WirePlumber module
”pw_module” - Loads a PipeWire module
- Return
TRUE if loaded, FALSE if there was an error
- Parameters
self
: the corecomponent
: the module name or file nametype
: the type of the componentargs
: (transfer floating)(nullable): additional arguments for the component, usually a dict or a stringerror
: (out) (optional): return location for errors, or NULL to ignore
-
WP_TYPE_COMPONENT_LOADER
(wp_component_loader_get_type ())¶ The WpComponentLoader GType.