object-manager: remove deprecated API
This commit is contained in:
@@ -110,12 +110,12 @@ wp_endpoint_ensure_feature_streams (WpEndpoint * self, guint32 bound_id)
|
|||||||
|
|
||||||
priv->streams_om = wp_object_manager_new ();
|
priv->streams_om = wp_object_manager_new ();
|
||||||
/* proxy endpoint stream -> check for endpoint.id in global properties */
|
/* proxy endpoint stream -> check for endpoint.id in global properties */
|
||||||
wp_object_manager_add_interest_1 (priv->streams_om,
|
wp_object_manager_add_interest (priv->streams_om,
|
||||||
WP_TYPE_ENDPOINT_STREAM,
|
WP_TYPE_ENDPOINT_STREAM,
|
||||||
WP_CONSTRAINT_TYPE_PW_GLOBAL_PROPERTY, PW_KEY_ENDPOINT_ID, "=u", bound_id,
|
WP_CONSTRAINT_TYPE_PW_GLOBAL_PROPERTY, PW_KEY_ENDPOINT_ID, "=u", bound_id,
|
||||||
NULL);
|
NULL);
|
||||||
/* impl endpoint stream -> check for endpoint.id in standard properties */
|
/* impl endpoint stream -> check for endpoint.id in standard properties */
|
||||||
wp_object_manager_add_interest_1 (priv->streams_om,
|
wp_object_manager_add_interest (priv->streams_om,
|
||||||
WP_TYPE_IMPL_ENDPOINT_STREAM,
|
WP_TYPE_IMPL_ENDPOINT_STREAM,
|
||||||
WP_CONSTRAINT_TYPE_PW_PROPERTY, PW_KEY_ENDPOINT_ID, "=u", bound_id,
|
WP_CONSTRAINT_TYPE_PW_PROPERTY, PW_KEY_ENDPOINT_ID, "=u", bound_id,
|
||||||
NULL);
|
NULL);
|
||||||
|
@@ -102,7 +102,7 @@ wp_node_ensure_feature_ports (WpNode * self, guint32 bound_id)
|
|||||||
bound_id);
|
bound_id);
|
||||||
|
|
||||||
priv->ports_om = wp_object_manager_new ();
|
priv->ports_om = wp_object_manager_new ();
|
||||||
wp_object_manager_add_interest_1 (priv->ports_om,
|
wp_object_manager_add_interest (priv->ports_om,
|
||||||
WP_TYPE_PORT,
|
WP_TYPE_PORT,
|
||||||
WP_CONSTRAINT_TYPE_PW_GLOBAL_PROPERTY, PW_KEY_NODE_ID, "=u", bound_id,
|
WP_CONSTRAINT_TYPE_PW_GLOBAL_PROPERTY, PW_KEY_NODE_ID, "=u", bound_id,
|
||||||
NULL);
|
NULL);
|
||||||
|
@@ -225,108 +225,6 @@ wp_object_manager_is_installed (WpObjectManager * self)
|
|||||||
* wp_object_manager_add_interest:
|
* wp_object_manager_add_interest:
|
||||||
* @self: the object manager
|
* @self: the object manager
|
||||||
* @gtype: the #GType of the objects that we are declaring interest in
|
* @gtype: the #GType of the objects that we are declaring interest in
|
||||||
* @constraints: (nullable): a variant of type "aa{sv}" (array of dictionaries)
|
|
||||||
* with additional constraints on the managed objects
|
|
||||||
* @wanted_features: a set of features that will automatically be enabled
|
|
||||||
* on managed objects, if they are subclasses of #WpProxy
|
|
||||||
*
|
|
||||||
* Declares interest in a certain kind of object. Interest consists of a #GType
|
|
||||||
* that the object must be an ancestor of (g_type_is_a must match) and
|
|
||||||
* optionally, a set of additional constraints on certain properties of the
|
|
||||||
* object.
|
|
||||||
*
|
|
||||||
* The @constraints #GVariant should contain an array of dictionaries ("aa{sv}").
|
|
||||||
* Each dictionary must have the following fields:
|
|
||||||
* - "type" (i): The constraint type, #WpObjectManagerConstraintType
|
|
||||||
* - "name" (s): The name of the constrained property
|
|
||||||
* - "value" (s): The value that the property must have
|
|
||||||
*
|
|
||||||
* For example, to discover all the 'node' objects in the PipeWire graph,
|
|
||||||
* the following code can be used:
|
|
||||||
* |[
|
|
||||||
* WpObjectManager *om = wp_object_manager_new ();
|
|
||||||
* wp_object_manager_add_interest (om, WP_TYPE_NODE, NULL,
|
|
||||||
* WP_PROXY_FEATURES_STANDARD);
|
|
||||||
* wp_core_install_object_manager (core, om);
|
|
||||||
* WpIterator *nodes_it = wp_object_manager_iterate (om);
|
|
||||||
* ]|
|
|
||||||
*
|
|
||||||
* and to discover all 'port' objects that belong to a specific 'node':
|
|
||||||
* |[
|
|
||||||
* WpObjectManager *om = wp_object_manager_new ();
|
|
||||||
*
|
|
||||||
* GVariantBuilder b;
|
|
||||||
* g_variant_builder_init (&b, G_VARIANT_TYPE ("aa{sv}"));
|
|
||||||
* g_variant_builder_open (&b, G_VARIANT_TYPE_VARDICT);
|
|
||||||
* g_variant_builder_add (&b, "{sv}", "type",
|
|
||||||
* g_variant_new_int32 (WP_OBJECT_MANAGER_CONSTRAINT_PW_GLOBAL_PROPERTY));
|
|
||||||
* g_variant_builder_add (&b, "{sv}", "name",
|
|
||||||
* g_variant_new_string (PW_KEY_NODE_ID));
|
|
||||||
* g_variant_builder_add (&b, "{sv}", "value",
|
|
||||||
* g_variant_new_string (node_id));
|
|
||||||
* g_variant_builder_close (&b);
|
|
||||||
*
|
|
||||||
* wp_object_manager_add_interest (om, WP_TYPE_PORT,
|
|
||||||
* g_variant_builder_end (&b),
|
|
||||||
* WP_PROXY_FEATURES_STANDARD);
|
|
||||||
*
|
|
||||||
* wp_core_install_object_manager (core, om);
|
|
||||||
* WpIterator *ports_it = wp_object_manager_iterate (om);
|
|
||||||
* ]|
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
wp_object_manager_add_interest (WpObjectManager *self,
|
|
||||||
GType gtype, GVariant * constraints,
|
|
||||||
WpProxyFeatures wanted_features)
|
|
||||||
{
|
|
||||||
g_autoptr (WpObjectInterest) interest = NULL;
|
|
||||||
g_autoptr (GVariant) c = NULL;
|
|
||||||
GVariantIter iter;
|
|
||||||
WpObjectManagerConstraintType ctype;
|
|
||||||
const gchar *prop_name, *prop_value;
|
|
||||||
|
|
||||||
g_return_if_fail (WP_IS_OBJECT_MANAGER (self));
|
|
||||||
g_return_if_fail (constraints == NULL ||
|
|
||||||
g_variant_is_of_type (constraints, G_VARIANT_TYPE ("aa{sv}")));
|
|
||||||
|
|
||||||
interest = wp_object_interest_new_type (gtype);
|
|
||||||
|
|
||||||
if (constraints) {
|
|
||||||
g_variant_iter_init (&iter, constraints);
|
|
||||||
while (g_variant_iter_next (&iter, "@a{sv}", &c)) {
|
|
||||||
GVariantDict dict = G_VARIANT_DICT_INIT (c);
|
|
||||||
|
|
||||||
if (!g_variant_dict_lookup (&dict, "type", "i", &ctype)) {
|
|
||||||
g_critical ("Invalid object manager constraint without a type");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!g_variant_dict_lookup (&dict, "name", "&s", &prop_name)) {
|
|
||||||
g_critical ("property constraint is without a property name");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!g_variant_dict_lookup (&dict, "value", "&s", &prop_value)) {
|
|
||||||
g_critical ("property constraint is without a property value");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
wp_object_interest_add_constraint (interest, (WpConstraintType) ctype,
|
|
||||||
prop_name, WP_CONSTRAINT_VERB_EQUALS, g_variant_new_string (prop_value));
|
|
||||||
|
|
||||||
g_variant_dict_clear (&dict);
|
|
||||||
g_clear_pointer (&c, g_variant_unref);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
wp_object_manager_add_interest_full (self, g_steal_pointer (&interest));
|
|
||||||
if (wanted_features != 0)
|
|
||||||
wp_object_manager_request_proxy_features (self, gtype, wanted_features);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wp_object_manager_add_interest_1:
|
|
||||||
* @self: the object manager
|
|
||||||
* @gtype: the #GType of the objects that we are declaring interest in
|
|
||||||
* @...: a list of constraints, terminated by %NULL
|
* @...: a list of constraints, terminated by %NULL
|
||||||
*
|
*
|
||||||
* Equivalent to:
|
* Equivalent to:
|
||||||
@@ -339,7 +237,7 @@ wp_object_manager_add_interest (WpObjectManager *self,
|
|||||||
* documented in wp_object_interest_new().
|
* documented in wp_object_interest_new().
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
wp_object_manager_add_interest_1 (WpObjectManager * self, GType gtype, ...)
|
wp_object_manager_add_interest (WpObjectManager * self, GType gtype, ...)
|
||||||
{
|
{
|
||||||
WpObjectInterest *interest;
|
WpObjectInterest *interest;
|
||||||
va_list args;
|
va_list args;
|
||||||
@@ -588,42 +486,6 @@ wp_object_manager_iterate_filtered_full (WpObjectManager * self,
|
|||||||
return it;
|
return it;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
find_proxy_fold_func (const GValue *item, GValue *ret, gpointer data)
|
|
||||||
{
|
|
||||||
if (g_type_is_a (G_VALUE_TYPE (item), WP_TYPE_PROXY)) {
|
|
||||||
WpProxy *proxy = g_value_get_object (item);
|
|
||||||
if (wp_proxy_get_bound_id (proxy) == GPOINTER_TO_UINT (data)) {
|
|
||||||
g_value_init_from_instance (ret, proxy);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wp_object_manager_find_proxy:
|
|
||||||
* @self: the object manager
|
|
||||||
* @bound_id: the bound id of the proxy to get
|
|
||||||
*
|
|
||||||
* Searches the managed objects to find a #WpProxy that has the given @bound_id
|
|
||||||
*
|
|
||||||
* Returns: (transfer full) (nullable): the proxy that has the given @bound_id,
|
|
||||||
* or %NULL if there is no such proxy managed by this object manager
|
|
||||||
*/
|
|
||||||
WpProxy *
|
|
||||||
wp_object_manager_find_proxy (WpObjectManager *self, guint bound_id)
|
|
||||||
{
|
|
||||||
g_autoptr (WpIterator) it = wp_object_manager_iterate (self);
|
|
||||||
g_auto (GValue) ret = G_VALUE_INIT;
|
|
||||||
|
|
||||||
if (!wp_iterator_fold (it, find_proxy_fold_func, &ret,
|
|
||||||
GUINT_TO_POINTER (bound_id)))
|
|
||||||
return g_value_dup_object (&ret);
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* wp_object_manager_lookup:
|
* wp_object_manager_lookup:
|
||||||
* @self: the object manager
|
* @self: the object manager
|
||||||
|
@@ -16,23 +16,6 @@
|
|||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
/**
|
|
||||||
* WpObjectManagerConstraintType:
|
|
||||||
* @WP_OBJECT_MANAGER_CONSTRAINT_PW_GLOBAL_PROPERTY: constraint applies
|
|
||||||
* to a PipeWire global property of an object (the ones returned by
|
|
||||||
* wp_proxy_get_global_properties())
|
|
||||||
* @WP_OBJECT_MANAGER_CONSTRAINT_PW_PROPERTY: constraint applies
|
|
||||||
* to a PipeWire property of the object (the ones returned by
|
|
||||||
* wp_proxy_get_properties())
|
|
||||||
* @WP_OBJECT_MANAGER_CONSTRAINT_G_PROPERTY: constraint applies to a #GObject
|
|
||||||
* property of the managed object
|
|
||||||
*/
|
|
||||||
typedef enum {
|
|
||||||
WP_OBJECT_MANAGER_CONSTRAINT_PW_GLOBAL_PROPERTY = WP_CONSTRAINT_TYPE_PW_GLOBAL_PROPERTY,
|
|
||||||
WP_OBJECT_MANAGER_CONSTRAINT_PW_PROPERTY,
|
|
||||||
WP_OBJECT_MANAGER_CONSTRAINT_G_PROPERTY,
|
|
||||||
} WpObjectManagerConstraintType G_GNUC_DEPRECATED;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* WP_TYPE_OBJECT_MANAGER:
|
* WP_TYPE_OBJECT_MANAGER:
|
||||||
*
|
*
|
||||||
@@ -52,12 +35,8 @@ gboolean wp_object_manager_is_installed (WpObjectManager * self);
|
|||||||
|
|
||||||
/* interest */
|
/* interest */
|
||||||
|
|
||||||
WP_API G_DEPRECATED
|
|
||||||
void wp_object_manager_add_interest (WpObjectManager *self,
|
|
||||||
GType gtype, GVariant * constraints, WpProxyFeatures wanted_features);
|
|
||||||
|
|
||||||
WP_API
|
WP_API
|
||||||
void wp_object_manager_add_interest_1 (WpObjectManager * self,
|
void wp_object_manager_add_interest (WpObjectManager * self,
|
||||||
GType gtype, ...) G_GNUC_NULL_TERMINATED;
|
GType gtype, ...) G_GNUC_NULL_TERMINATED;
|
||||||
|
|
||||||
WP_API
|
WP_API
|
||||||
@@ -86,9 +65,6 @@ WP_API
|
|||||||
WpIterator * wp_object_manager_iterate_filtered_full (WpObjectManager * self,
|
WpIterator * wp_object_manager_iterate_filtered_full (WpObjectManager * self,
|
||||||
WpObjectInterest * interest);
|
WpObjectInterest * interest);
|
||||||
|
|
||||||
WP_API G_DEPRECATED
|
|
||||||
WpProxy * wp_object_manager_find_proxy (WpObjectManager *self, guint bound_id);
|
|
||||||
|
|
||||||
WP_API
|
WP_API
|
||||||
gpointer wp_object_manager_lookup (WpObjectManager * self,
|
gpointer wp_object_manager_lookup (WpObjectManager * self,
|
||||||
GType gtype, ...) G_GNUC_NULL_TERMINATED;
|
GType gtype, ...) G_GNUC_NULL_TERMINATED;
|
||||||
|
@@ -129,12 +129,12 @@ wp_session_ensure_features_endpoints_links (WpSession * self, guint32 bound_id)
|
|||||||
|
|
||||||
priv->endpoints_om = wp_object_manager_new ();
|
priv->endpoints_om = wp_object_manager_new ();
|
||||||
/* proxy endpoint -> check for session.id in global properties */
|
/* proxy endpoint -> check for session.id in global properties */
|
||||||
wp_object_manager_add_interest_1 (priv->endpoints_om,
|
wp_object_manager_add_interest (priv->endpoints_om,
|
||||||
WP_TYPE_ENDPOINT,
|
WP_TYPE_ENDPOINT,
|
||||||
WP_CONSTRAINT_TYPE_PW_GLOBAL_PROPERTY, PW_KEY_SESSION_ID, "=u", bound_id,
|
WP_CONSTRAINT_TYPE_PW_GLOBAL_PROPERTY, PW_KEY_SESSION_ID, "=u", bound_id,
|
||||||
NULL);
|
NULL);
|
||||||
/* impl endpoint -> check for session.id in standard properties */
|
/* impl endpoint -> check for session.id in standard properties */
|
||||||
wp_object_manager_add_interest_1 (priv->endpoints_om,
|
wp_object_manager_add_interest (priv->endpoints_om,
|
||||||
WP_TYPE_IMPL_ENDPOINT,
|
WP_TYPE_IMPL_ENDPOINT,
|
||||||
WP_CONSTRAINT_TYPE_PW_PROPERTY, PW_KEY_SESSION_ID, "=u", bound_id,
|
WP_CONSTRAINT_TYPE_PW_PROPERTY, PW_KEY_SESSION_ID, "=u", bound_id,
|
||||||
NULL);
|
NULL);
|
||||||
@@ -156,12 +156,12 @@ wp_session_ensure_features_endpoints_links (WpSession * self, guint32 bound_id)
|
|||||||
|
|
||||||
priv->links_om = wp_object_manager_new ();
|
priv->links_om = wp_object_manager_new ();
|
||||||
/* proxy link -> check for session.id in global properties */
|
/* proxy link -> check for session.id in global properties */
|
||||||
wp_object_manager_add_interest_1 (priv->links_om,
|
wp_object_manager_add_interest (priv->links_om,
|
||||||
WP_TYPE_ENDPOINT_LINK,
|
WP_TYPE_ENDPOINT_LINK,
|
||||||
WP_CONSTRAINT_TYPE_PW_GLOBAL_PROPERTY, PW_KEY_SESSION_ID, "=u", bound_id,
|
WP_CONSTRAINT_TYPE_PW_GLOBAL_PROPERTY, PW_KEY_SESSION_ID, "=u", bound_id,
|
||||||
NULL);
|
NULL);
|
||||||
/* impl link -> check for session.id in standard properties */
|
/* impl link -> check for session.id in standard properties */
|
||||||
wp_object_manager_add_interest_1 (priv->links_om,
|
wp_object_manager_add_interest (priv->links_om,
|
||||||
WP_TYPE_IMPL_ENDPOINT_LINK,
|
WP_TYPE_IMPL_ENDPOINT_LINK,
|
||||||
WP_CONSTRAINT_TYPE_PW_PROPERTY, PW_KEY_SESSION_ID, "=u", bound_id,
|
WP_CONSTRAINT_TYPE_PW_PROPERTY, PW_KEY_SESSION_ID, "=u", bound_id,
|
||||||
NULL);
|
NULL);
|
||||||
|
@@ -33,7 +33,7 @@ wireplumber__module_init (WpModule * module, WpCore * core, GVariant * args)
|
|||||||
WpObjectManager *om;
|
WpObjectManager *om;
|
||||||
|
|
||||||
om = wp_object_manager_new ();
|
om = wp_object_manager_new ();
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_CLIENT, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_CLIENT, NULL);
|
||||||
wp_object_manager_request_proxy_features (om, WP_TYPE_CLIENT,
|
wp_object_manager_request_proxy_features (om, WP_TYPE_CLIENT,
|
||||||
WP_PROXY_FEATURES_STANDARD);
|
WP_PROXY_FEATURES_STANDARD);
|
||||||
|
|
||||||
|
@@ -240,14 +240,14 @@ wp_config_endpoint_context_activate (WpPlugin * plugin)
|
|||||||
|
|
||||||
/* Install the session object manager */
|
/* Install the session object manager */
|
||||||
self->sessions_om = wp_object_manager_new ();
|
self->sessions_om = wp_object_manager_new ();
|
||||||
wp_object_manager_add_interest_1 (self->sessions_om, WP_TYPE_SESSION, NULL);
|
wp_object_manager_add_interest (self->sessions_om, WP_TYPE_SESSION, NULL);
|
||||||
wp_object_manager_request_proxy_features (self->sessions_om, WP_TYPE_SESSION,
|
wp_object_manager_request_proxy_features (self->sessions_om, WP_TYPE_SESSION,
|
||||||
WP_SESSION_FEATURES_STANDARD);
|
WP_SESSION_FEATURES_STANDARD);
|
||||||
wp_core_install_object_manager (core, self->sessions_om);
|
wp_core_install_object_manager (core, self->sessions_om);
|
||||||
|
|
||||||
/* Handle node-added signal and install the nodes object manager */
|
/* Handle node-added signal and install the nodes object manager */
|
||||||
self->nodes_om = wp_object_manager_new ();
|
self->nodes_om = wp_object_manager_new ();
|
||||||
wp_object_manager_add_interest_1 (self->nodes_om, WP_TYPE_NODE, NULL);
|
wp_object_manager_add_interest (self->nodes_om, WP_TYPE_NODE, NULL);
|
||||||
wp_object_manager_request_proxy_features (self->nodes_om, WP_TYPE_NODE,
|
wp_object_manager_request_proxy_features (self->nodes_om, WP_TYPE_NODE,
|
||||||
WP_PROXY_FEATURES_STANDARD);
|
WP_PROXY_FEATURES_STANDARD);
|
||||||
g_signal_connect_object (self->nodes_om, "object-added",
|
g_signal_connect_object (self->nodes_om, "object-added",
|
||||||
|
@@ -324,7 +324,7 @@ wp_config_policy_context_activate (WpPlugin * plugin)
|
|||||||
|
|
||||||
/* Install the session object manager */
|
/* Install the session object manager */
|
||||||
self->sessions_om = wp_object_manager_new ();
|
self->sessions_om = wp_object_manager_new ();
|
||||||
wp_object_manager_add_interest_1 (self->sessions_om, WP_TYPE_SESSION, NULL);
|
wp_object_manager_add_interest (self->sessions_om, WP_TYPE_SESSION, NULL);
|
||||||
wp_object_manager_request_proxy_features (self->sessions_om, WP_TYPE_SESSION,
|
wp_object_manager_request_proxy_features (self->sessions_om, WP_TYPE_SESSION,
|
||||||
WP_SESSION_FEATURES_STANDARD);
|
WP_SESSION_FEATURES_STANDARD);
|
||||||
g_signal_connect_object (self->sessions_om, "object-added",
|
g_signal_connect_object (self->sessions_om, "object-added",
|
||||||
|
@@ -168,7 +168,7 @@ wp_config_static_nodes_context_init (WpConfigStaticNodesContext *self)
|
|||||||
self->devices_om = wp_object_manager_new ();
|
self->devices_om = wp_object_manager_new ();
|
||||||
|
|
||||||
/* Only handle devices */
|
/* Only handle devices */
|
||||||
wp_object_manager_add_interest_1 (self->devices_om, WP_TYPE_DEVICE, NULL);
|
wp_object_manager_add_interest (self->devices_om, WP_TYPE_DEVICE, NULL);
|
||||||
wp_object_manager_request_proxy_features (self->devices_om, WP_TYPE_DEVICE,
|
wp_object_manager_request_proxy_features (self->devices_om, WP_TYPE_DEVICE,
|
||||||
WP_PROXY_FEATURE_INFO);
|
WP_PROXY_FEATURE_INFO);
|
||||||
g_signal_connect (self->devices_om, "object-added",
|
g_signal_connect (self->devices_om, "object-added",
|
||||||
|
@@ -82,7 +82,7 @@ activate_plugins (struct WpDaemonData *d)
|
|||||||
g_autoptr (WpObjectManager) om = NULL;
|
g_autoptr (WpObjectManager) om = NULL;
|
||||||
|
|
||||||
om = wp_object_manager_new ();
|
om = wp_object_manager_new ();
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_PLUGIN, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_PLUGIN, NULL);
|
||||||
g_signal_connect (om, "object-added", G_CALLBACK (on_plugin_added), d);
|
g_signal_connect (om, "object-added", G_CALLBACK (on_plugin_added), d);
|
||||||
wp_core_install_object_manager (d->core, om);
|
wp_core_install_object_manager (d->core, om);
|
||||||
|
|
||||||
|
@@ -218,7 +218,7 @@ start_endpoints_provider (AppData * d)
|
|||||||
/* for example purposes, we pretend we don't have access to the data set by
|
/* for example purposes, we pretend we don't have access to the data set by
|
||||||
start_nodes_provider(), i.e. d->audiotestsrc & d->alsasink */
|
start_nodes_provider(), i.e. d->audiotestsrc & d->alsasink */
|
||||||
d->nodes_om = wp_object_manager_new ();
|
d->nodes_om = wp_object_manager_new ();
|
||||||
wp_object_manager_add_interest_1 (d->nodes_om, WP_TYPE_NODE, NULL);
|
wp_object_manager_add_interest (d->nodes_om, WP_TYPE_NODE, NULL);
|
||||||
wp_object_manager_request_proxy_features (d->nodes_om, WP_TYPE_NODE,
|
wp_object_manager_request_proxy_features (d->nodes_om, WP_TYPE_NODE,
|
||||||
WP_PROXY_FEATURES_STANDARD);
|
WP_PROXY_FEATURES_STANDARD);
|
||||||
|
|
||||||
|
@@ -132,7 +132,7 @@ simple (TestConfigEndpointFixture *f, gconstpointer data)
|
|||||||
|
|
||||||
/* Find the plugin context and handle the endpoint-created callback */
|
/* Find the plugin context and handle the endpoint-created callback */
|
||||||
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_PLUGIN, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_PLUGIN, NULL);
|
||||||
wp_core_install_object_manager (f->base.core, om);
|
wp_core_install_object_manager (f->base.core, om);
|
||||||
|
|
||||||
g_autoptr (WpPlugin) ctx = wp_object_manager_lookup (om, WP_TYPE_PLUGIN, NULL);
|
g_autoptr (WpPlugin) ctx = wp_object_manager_lookup (om, WP_TYPE_PLUGIN, NULL);
|
||||||
@@ -171,7 +171,7 @@ streams (TestConfigEndpointFixture *f, gconstpointer data)
|
|||||||
|
|
||||||
/* Find the plugin context and handle the endpoint-created callback */
|
/* Find the plugin context and handle the endpoint-created callback */
|
||||||
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_PLUGIN, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_PLUGIN, NULL);
|
||||||
wp_core_install_object_manager (f->base.core, om);
|
wp_core_install_object_manager (f->base.core, om);
|
||||||
|
|
||||||
g_autoptr (WpPlugin) ctx = wp_object_manager_lookup (om, WP_TYPE_PLUGIN, NULL);
|
g_autoptr (WpPlugin) ctx = wp_object_manager_lookup (om, WP_TYPE_PLUGIN, NULL);
|
||||||
|
@@ -232,7 +232,7 @@ playback (TestFixture *f, gconstpointer data)
|
|||||||
|
|
||||||
/* Find the plugin context and handle the link-activated callback */
|
/* Find the plugin context and handle the link-activated callback */
|
||||||
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_PLUGIN, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_PLUGIN, NULL);
|
||||||
wp_core_install_object_manager (f->base.core, om);
|
wp_core_install_object_manager (f->base.core, om);
|
||||||
g_autoptr (WpPlugin) ctx = wp_object_manager_lookup (om, WP_TYPE_PLUGIN, NULL);
|
g_autoptr (WpPlugin) ctx = wp_object_manager_lookup (om, WP_TYPE_PLUGIN, NULL);
|
||||||
g_assert_nonnull (ctx);
|
g_assert_nonnull (ctx);
|
||||||
|
@@ -58,7 +58,7 @@ basic (TestConfigStaticNodesFixture *f, gconstpointer data)
|
|||||||
|
|
||||||
/* Find the plugin context and handle the node-created callback */
|
/* Find the plugin context and handle the node-created callback */
|
||||||
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_PLUGIN, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_PLUGIN, NULL);
|
||||||
wp_core_install_object_manager (f->base.core, om);
|
wp_core_install_object_manager (f->base.core, om);
|
||||||
g_autoptr (WpPlugin) ctx = wp_object_manager_lookup (om, WP_TYPE_PLUGIN, NULL);
|
g_autoptr (WpPlugin) ctx = wp_object_manager_lookup (om, WP_TYPE_PLUGIN, NULL);
|
||||||
g_assert_nonnull (ctx);
|
g_assert_nonnull (ctx);
|
||||||
|
@@ -238,7 +238,7 @@ test_si_audio_softdsp_endpoint_export (TestFixture * f, gconstpointer user_data)
|
|||||||
/* find self_client, to be used for verifying endpoint.client.id */
|
/* find self_client, to be used for verifying endpoint.client.id */
|
||||||
|
|
||||||
clients_om = wp_object_manager_new ();
|
clients_om = wp_object_manager_new ();
|
||||||
wp_object_manager_add_interest_1 (clients_om, WP_TYPE_CLIENT, NULL);
|
wp_object_manager_add_interest (clients_om, WP_TYPE_CLIENT, NULL);
|
||||||
wp_object_manager_request_proxy_features (clients_om,
|
wp_object_manager_request_proxy_features (clients_om,
|
||||||
WP_TYPE_CLIENT, WP_PROXY_FEATURE_BOUND);
|
WP_TYPE_CLIENT, WP_PROXY_FEATURE_BOUND);
|
||||||
g_signal_connect_swapped (clients_om, "objects-changed",
|
g_signal_connect_swapped (clients_om, "objects-changed",
|
||||||
|
@@ -235,7 +235,7 @@ test_si_simple_node_endpoint_export (TestFixture * f, gconstpointer user_data)
|
|||||||
/* find self_client, to be used for verifying endpoint.client.id */
|
/* find self_client, to be used for verifying endpoint.client.id */
|
||||||
|
|
||||||
clients_om = wp_object_manager_new ();
|
clients_om = wp_object_manager_new ();
|
||||||
wp_object_manager_add_interest_1 (clients_om, WP_TYPE_CLIENT, NULL);
|
wp_object_manager_add_interest (clients_om, WP_TYPE_CLIENT, NULL);
|
||||||
wp_object_manager_request_proxy_features (clients_om,
|
wp_object_manager_request_proxy_features (clients_om,
|
||||||
WP_TYPE_CLIENT, WP_PROXY_FEATURE_BOUND);
|
WP_TYPE_CLIENT, WP_PROXY_FEATURE_BOUND);
|
||||||
g_signal_connect_swapped (clients_om, "objects-changed",
|
g_signal_connect_swapped (clients_om, "objects-changed",
|
||||||
|
@@ -153,7 +153,7 @@ test_si_standard_link_main (TestFixture * f, gconstpointer user_data)
|
|||||||
/* find the "audio" session from the client */
|
/* find the "audio" session from the client */
|
||||||
{
|
{
|
||||||
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_SESSION, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_SESSION, NULL);
|
||||||
wp_object_manager_request_proxy_features (om, WP_TYPE_SESSION,
|
wp_object_manager_request_proxy_features (om, WP_TYPE_SESSION,
|
||||||
WP_SESSION_FEATURES_STANDARD);
|
WP_SESSION_FEATURES_STANDARD);
|
||||||
test_ensure_object_manager_is_installed (om, f->base.client_core,
|
test_ensure_object_manager_is_installed (om, f->base.client_core,
|
||||||
@@ -246,9 +246,9 @@ test_si_standard_link_main (TestFixture * f, gconstpointer user_data)
|
|||||||
g_autoptr (WpLink) link = NULL;
|
g_autoptr (WpLink) link = NULL;
|
||||||
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
||||||
|
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_NODE, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_NODE, NULL);
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_PORT, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_PORT, NULL);
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_LINK, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_LINK, NULL);
|
||||||
wp_object_manager_request_proxy_features (om, WP_TYPE_PROXY,
|
wp_object_manager_request_proxy_features (om, WP_TYPE_PROXY,
|
||||||
WP_PROXY_FEATURES_STANDARD);
|
WP_PROXY_FEATURES_STANDARD);
|
||||||
test_ensure_object_manager_is_installed (om, f->base.client_core,
|
test_ensure_object_manager_is_installed (om, f->base.client_core,
|
||||||
@@ -299,9 +299,9 @@ test_si_standard_link_main (TestFixture * f, gconstpointer user_data)
|
|||||||
g_autoptr (WpLink) link = NULL;
|
g_autoptr (WpLink) link = NULL;
|
||||||
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
||||||
|
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_NODE, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_NODE, NULL);
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_PORT, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_PORT, NULL);
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_LINK, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_LINK, NULL);
|
||||||
wp_object_manager_request_proxy_features (om, WP_TYPE_PROXY,
|
wp_object_manager_request_proxy_features (om, WP_TYPE_PROXY,
|
||||||
WP_PROXY_FEATURES_STANDARD);
|
WP_PROXY_FEATURES_STANDARD);
|
||||||
test_ensure_object_manager_is_installed (om, f->base.client_core,
|
test_ensure_object_manager_is_installed (om, f->base.client_core,
|
||||||
@@ -341,7 +341,7 @@ test_si_standard_link_destroy (TestFixture * f, gconstpointer user_data)
|
|||||||
/* find the "audio" session from the client */
|
/* find the "audio" session from the client */
|
||||||
{
|
{
|
||||||
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_SESSION, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_SESSION, NULL);
|
||||||
wp_object_manager_request_proxy_features (om, WP_TYPE_SESSION,
|
wp_object_manager_request_proxy_features (om, WP_TYPE_SESSION,
|
||||||
WP_SESSION_FEATURES_STANDARD);
|
WP_SESSION_FEATURES_STANDARD);
|
||||||
test_ensure_object_manager_is_installed (om, f->base.client_core,
|
test_ensure_object_manager_is_installed (om, f->base.client_core,
|
||||||
@@ -415,7 +415,7 @@ test_si_standard_link_destroy (TestFixture * f, gconstpointer user_data)
|
|||||||
{
|
{
|
||||||
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
g_autoptr (WpObjectManager) om = wp_object_manager_new ();
|
||||||
|
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_ENDPOINT_LINK, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_ENDPOINT_LINK, NULL);
|
||||||
test_ensure_object_manager_is_installed (om, f->base.core, f->base.loop);
|
test_ensure_object_manager_is_installed (om, f->base.core, f->base.loop);
|
||||||
|
|
||||||
g_assert_cmpuint (wp_object_manager_get_n_objects (om), ==, 0);
|
g_assert_cmpuint (wp_object_manager_get_n_objects (om), ==, 0);
|
||||||
|
@@ -54,7 +54,7 @@ test_core_server_disconnected (TestFixture *f, gconstpointer data)
|
|||||||
g_signal_connect (f->om, "object-added",
|
g_signal_connect (f->om, "object-added",
|
||||||
G_CALLBACK (expect_object_added), f);
|
G_CALLBACK (expect_object_added), f);
|
||||||
|
|
||||||
wp_object_manager_add_interest_1 (f->om, WP_TYPE_CLIENT, NULL);
|
wp_object_manager_add_interest (f->om, WP_TYPE_CLIENT, NULL);
|
||||||
wp_core_install_object_manager (f->base.core, f->om);
|
wp_core_install_object_manager (f->base.core, f->om);
|
||||||
|
|
||||||
/* connect */
|
/* connect */
|
||||||
@@ -82,7 +82,7 @@ test_core_client_disconnected (TestFixture *f, gconstpointer data)
|
|||||||
g_signal_connect (f->om, "object-added",
|
g_signal_connect (f->om, "object-added",
|
||||||
G_CALLBACK (expect_object_added), f);
|
G_CALLBACK (expect_object_added), f);
|
||||||
|
|
||||||
wp_object_manager_add_interest_1 (f->om, WP_TYPE_CLIENT, NULL);
|
wp_object_manager_add_interest (f->om, WP_TYPE_CLIENT, NULL);
|
||||||
wp_core_install_object_manager (f->base.core, f->om);
|
wp_core_install_object_manager (f->base.core, f->om);
|
||||||
|
|
||||||
/* connect */
|
/* connect */
|
||||||
|
@@ -287,7 +287,7 @@ test_endpoint_basic (TestEndpointFixture *fixture, gconstpointer data)
|
|||||||
(GCallback) test_endpoint_basic_impl_object_added, fixture);
|
(GCallback) test_endpoint_basic_impl_object_added, fixture);
|
||||||
g_signal_connect (fixture->export_om, "object-removed",
|
g_signal_connect (fixture->export_om, "object-removed",
|
||||||
(GCallback) test_endpoint_basic_impl_object_removed, fixture);
|
(GCallback) test_endpoint_basic_impl_object_removed, fixture);
|
||||||
wp_object_manager_add_interest_1 (fixture->export_om, WP_TYPE_ENDPOINT, NULL);
|
wp_object_manager_add_interest (fixture->export_om, WP_TYPE_ENDPOINT, NULL);
|
||||||
wp_object_manager_request_proxy_features (fixture->export_om,
|
wp_object_manager_request_proxy_features (fixture->export_om,
|
||||||
WP_TYPE_ENDPOINT, WP_PROXY_FEATURES_STANDARD | WP_PROXY_FEATURE_CONTROLS);
|
WP_TYPE_ENDPOINT, WP_PROXY_FEATURES_STANDARD | WP_PROXY_FEATURE_CONTROLS);
|
||||||
wp_core_install_object_manager (fixture->base.core, fixture->export_om);
|
wp_core_install_object_manager (fixture->base.core, fixture->export_om);
|
||||||
@@ -297,7 +297,7 @@ test_endpoint_basic (TestEndpointFixture *fixture, gconstpointer data)
|
|||||||
(GCallback) test_endpoint_basic_proxy_object_added, fixture);
|
(GCallback) test_endpoint_basic_proxy_object_added, fixture);
|
||||||
g_signal_connect (fixture->proxy_om, "object-removed",
|
g_signal_connect (fixture->proxy_om, "object-removed",
|
||||||
(GCallback) test_endpoint_basic_proxy_object_removed, fixture);
|
(GCallback) test_endpoint_basic_proxy_object_removed, fixture);
|
||||||
wp_object_manager_add_interest_1 (fixture->proxy_om, WP_TYPE_ENDPOINT, NULL);
|
wp_object_manager_add_interest (fixture->proxy_om, WP_TYPE_ENDPOINT, NULL);
|
||||||
wp_object_manager_request_proxy_features (fixture->proxy_om, WP_TYPE_ENDPOINT,
|
wp_object_manager_request_proxy_features (fixture->proxy_om, WP_TYPE_ENDPOINT,
|
||||||
WP_PROXY_FEATURES_STANDARD | WP_PROXY_FEATURE_CONTROLS);
|
WP_PROXY_FEATURES_STANDARD | WP_PROXY_FEATURE_CONTROLS);
|
||||||
wp_core_install_object_manager (fixture->base.client_core, fixture->proxy_om);
|
wp_core_install_object_manager (fixture->base.client_core, fixture->proxy_om);
|
||||||
|
@@ -83,7 +83,7 @@ test_proxy_basic (TestProxyFixture *fixture, gconstpointer data)
|
|||||||
g_signal_connect (fixture->om, "object-added",
|
g_signal_connect (fixture->om, "object-added",
|
||||||
(GCallback) test_proxy_basic_object_added, fixture);
|
(GCallback) test_proxy_basic_object_added, fixture);
|
||||||
|
|
||||||
wp_object_manager_add_interest_1 (fixture->om, WP_TYPE_CLIENT, NULL);
|
wp_object_manager_add_interest (fixture->om, WP_TYPE_CLIENT, NULL);
|
||||||
wp_core_install_object_manager (fixture->base.core, fixture->om);
|
wp_core_install_object_manager (fixture->base.core, fixture->om);
|
||||||
|
|
||||||
g_main_loop_run (fixture->base.loop);
|
g_main_loop_run (fixture->base.loop);
|
||||||
@@ -184,7 +184,7 @@ test_node (TestProxyFixture *fixture, gconstpointer data)
|
|||||||
|
|
||||||
/* declare interest and set default features to be ready
|
/* declare interest and set default features to be ready
|
||||||
when the signal is fired */
|
when the signal is fired */
|
||||||
wp_object_manager_add_interest_1 (fixture->om, WP_TYPE_NODE, NULL);
|
wp_object_manager_add_interest (fixture->om, WP_TYPE_NODE, NULL);
|
||||||
wp_object_manager_request_proxy_features (fixture->om, WP_TYPE_NODE,
|
wp_object_manager_request_proxy_features (fixture->om, WP_TYPE_NODE,
|
||||||
WP_PROXY_FEATURES_STANDARD);
|
WP_PROXY_FEATURES_STANDARD);
|
||||||
wp_core_install_object_manager (fixture->base.core, fixture->om);
|
wp_core_install_object_manager (fixture->base.core, fixture->om);
|
||||||
|
@@ -150,7 +150,7 @@ test_session_basic (TestSessionFixture *fixture, gconstpointer data)
|
|||||||
(GCallback) test_session_basic_exported_object_added, fixture);
|
(GCallback) test_session_basic_exported_object_added, fixture);
|
||||||
g_signal_connect (fixture->export_om, "object-removed",
|
g_signal_connect (fixture->export_om, "object-removed",
|
||||||
(GCallback) test_session_basic_exported_object_removed, fixture);
|
(GCallback) test_session_basic_exported_object_removed, fixture);
|
||||||
wp_object_manager_add_interest_1 (fixture->export_om,
|
wp_object_manager_add_interest (fixture->export_om,
|
||||||
WP_TYPE_IMPL_SESSION, NULL);
|
WP_TYPE_IMPL_SESSION, NULL);
|
||||||
wp_object_manager_request_proxy_features (fixture->export_om,
|
wp_object_manager_request_proxy_features (fixture->export_om,
|
||||||
WP_TYPE_IMPL_SESSION, WP_SESSION_FEATURES_STANDARD);
|
WP_TYPE_IMPL_SESSION, WP_SESSION_FEATURES_STANDARD);
|
||||||
@@ -161,7 +161,7 @@ test_session_basic (TestSessionFixture *fixture, gconstpointer data)
|
|||||||
(GCallback) test_session_basic_proxy_object_added, fixture);
|
(GCallback) test_session_basic_proxy_object_added, fixture);
|
||||||
g_signal_connect (fixture->proxy_om, "object-removed",
|
g_signal_connect (fixture->proxy_om, "object-removed",
|
||||||
(GCallback) test_session_basic_proxy_object_removed, fixture);
|
(GCallback) test_session_basic_proxy_object_removed, fixture);
|
||||||
wp_object_manager_add_interest_1 (fixture->proxy_om, WP_TYPE_SESSION, NULL);
|
wp_object_manager_add_interest (fixture->proxy_om, WP_TYPE_SESSION, NULL);
|
||||||
wp_object_manager_request_proxy_features (fixture->proxy_om,
|
wp_object_manager_request_proxy_features (fixture->proxy_om,
|
||||||
WP_TYPE_SESSION, WP_SESSION_FEATURES_STANDARD);
|
WP_TYPE_SESSION, WP_SESSION_FEATURES_STANDARD);
|
||||||
wp_core_install_object_manager (fixture->base.client_core, fixture->proxy_om);
|
wp_core_install_object_manager (fixture->base.client_core, fixture->proxy_om);
|
||||||
|
@@ -277,7 +277,7 @@ main (gint argc, gchar **argv)
|
|||||||
|
|
||||||
/* ls-endpoints */
|
/* ls-endpoints */
|
||||||
if (argc == 2 && !g_strcmp0 (argv[1], "ls-endpoints")) {
|
if (argc == 2 && !g_strcmp0 (argv[1], "ls-endpoints")) {
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_SESSION, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_SESSION, NULL);
|
||||||
wp_object_manager_request_proxy_features (om, WP_TYPE_SESSION,
|
wp_object_manager_request_proxy_features (om, WP_TYPE_SESSION,
|
||||||
WP_SESSION_FEATURES_STANDARD);
|
WP_SESSION_FEATURES_STANDARD);
|
||||||
func = (GCallback) list_endpoints;
|
func = (GCallback) list_endpoints;
|
||||||
@@ -291,8 +291,8 @@ main (gint argc, gchar **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
data.params.set_default.id = id;
|
data.params.set_default.id = id;
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_SESSION, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_SESSION, NULL);
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_ENDPOINT, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_ENDPOINT, NULL);
|
||||||
wp_object_manager_request_proxy_features (om, WP_TYPE_PROXY,
|
wp_object_manager_request_proxy_features (om, WP_TYPE_PROXY,
|
||||||
WP_PROXY_FEATURES_STANDARD | WP_PROXY_FEATURE_CONTROLS);
|
WP_PROXY_FEATURES_STANDARD | WP_PROXY_FEATURE_CONTROLS);
|
||||||
func = (GCallback) set_default;
|
func = (GCallback) set_default;
|
||||||
@@ -308,14 +308,14 @@ main (gint argc, gchar **argv)
|
|||||||
|
|
||||||
data.params.set_volume.id = id;
|
data.params.set_volume.id = id;
|
||||||
data.params.set_volume.volume = volume;
|
data.params.set_volume.volume = volume;
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_ENDPOINT, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_ENDPOINT, NULL);
|
||||||
wp_object_manager_request_proxy_features (om, WP_TYPE_ENDPOINT,
|
wp_object_manager_request_proxy_features (om, WP_TYPE_ENDPOINT,
|
||||||
WP_PROXY_FEATURES_STANDARD | WP_PROXY_FEATURE_CONTROLS);
|
WP_PROXY_FEATURES_STANDARD | WP_PROXY_FEATURE_CONTROLS);
|
||||||
func = (GCallback) set_volume;
|
func = (GCallback) set_volume;
|
||||||
}
|
}
|
||||||
/* device-node-props */
|
/* device-node-props */
|
||||||
else if (argc == 2 && !g_strcmp0 (argv[1], "device-node-props")) {
|
else if (argc == 2 && !g_strcmp0 (argv[1], "device-node-props")) {
|
||||||
wp_object_manager_add_interest_1 (om, WP_TYPE_NODE, NULL);
|
wp_object_manager_add_interest (om, WP_TYPE_NODE, NULL);
|
||||||
wp_object_manager_request_proxy_features (om, WP_TYPE_NODE,
|
wp_object_manager_request_proxy_features (om, WP_TYPE_NODE,
|
||||||
WP_PROXY_FEATURES_STANDARD);
|
WP_PROXY_FEATURES_STANDARD);
|
||||||
func = (GCallback) device_node_props;
|
func = (GCallback) device_node_props;
|
||||||
|
Reference in New Issue
Block a user