Top |
Functions
Description
GUPnPServiceProxy sends commands to a remote UPnP service and handles incoming event notifications. GUPnPServiceProxy implements the GUPnPServiceInfo interface.
Functions
GUPnPServiceProxyActionCallback ()
void (*GUPnPServiceProxyActionCallback) (GUPnPServiceProxy *proxy
,GUPnPServiceProxyAction *action
,gpointer user_data
);
Callback notifying that action
on proxy
has returned and
gupnp_service_proxy_end_action()
etc can be called.
Parameters
proxy |
The GUPnPServiceProxy |
|
action |
The GUPnPServiceProxyAction in progress |
|
user_data |
User data |
GUPnPServiceProxyNotifyCallback ()
void (*GUPnPServiceProxyNotifyCallback) (GUPnPServiceProxy *proxy
,const char *variable
,GValue *value
,gpointer user_data
);
Callback notifying that the state variable variable
on proxy
has changed to
value
.
Parameters
proxy |
The GUPnPServiceProxy the notification originates from |
|
variable |
The name of the variable being notified |
|
value |
The GValue of the variable being notified |
|
user_data |
User data |
gupnp_service_proxy_send_action ()
gboolean gupnp_service_proxy_send_action (GUPnPServiceProxy *proxy
,const char *action
,GError **error
,...
);
Sends action action
with parameters Varargs
to the service exposed by
proxy
synchronously. If an error occurred, error
will be set. In case of
a UPnPError the error code will be the same in error
.
Parameters
gupnp_service_proxy_send_action_valist ()
gboolean gupnp_service_proxy_send_action_valist (GUPnPServiceProxy *proxy
,const char *action
,GError **error
,va_list var_args
);
See gupnp_service_proxy_send_action()
.
Parameters
gupnp_service_proxy_send_action_hash ()
gboolean gupnp_service_proxy_send_action_hash (GUPnPServiceProxy *proxy
,const char *action
,GError **error
,GHashTable *in_hash
,GHashTable *out_hash
);
gupnp_service_proxy_send_action_hash
has been deprecated since version 0.20.9 and should not be used in newly-written code.
Use gupnp_service_proxy_send_action()
or
gupnp_service_proxy_send_action_list()
See gupnp_service_proxy_send_action()
; this version takes a pair of
GHashTables for runtime determined parameter lists.
Do not use this function in newly written code; it cannot guarantee the order of arguments and thus breaks interaction with many devices.
[skip]
Parameters
proxy |
||
action |
An action |
|
error |
The location where to store any error, or |
[allow-none] |
in_hash |
A GHashTable of in parameter name and GValue pairs. |
[element-type utf8 GValue][transfer none] |
out_hash |
A GHashTable of out parameter name and initialized GValue pairs. |
[inout][element-type utf8 GValue][transfer full] |
gupnp_service_proxy_send_action_list ()
gboolean gupnp_service_proxy_send_action_list (GUPnPServiceProxy *proxy
,const char *action
,GError **error
,GList *in_names
,GList *in_values
,GList *out_names
,GList *out_types
,GList **out_values
);
The synchronous variant of gupnp_service_proxy_begin_action_list and gupnp_service_proxy_end_action_list.
[skip]
Parameters
proxy |
||
action |
An action |
|
error |
The location where to store any error, or |
[allow-none] |
in_names |
GList of 'in' parameter names (as strings). |
[element-type utf8][transfer none] |
in_values |
[element-type GValue][transfer none] | |
out_names |
GList of 'out' parameter names (as strings). |
[element-type utf8][transfer none] |
out_types |
[element-type GType][transfer none] | |
out_values |
GList of values
(as GValue) that line up with |
[element-type GValue][transfer full][out] |
Since: 0.13.3
gupnp_service_proxy_begin_action ()
GUPnPServiceProxyAction * gupnp_service_proxy_begin_action (GUPnPServiceProxy *proxy
,const char *action
,GUPnPServiceProxyActionCallback callback
,gpointer user_data
,...
);
Sends action action
with parameters Varargs
to the service exposed by
proxy
asynchronously, calling callback
on completion. From callback
, call
gupnp_service_proxy_end_action()
to check for errors, to retrieve return
values, and to free the GUPnPServiceProxyAction.
Parameters
proxy |
||
action |
An action |
|
callback |
The callback to call when sending the action has succeeded or failed. |
[scope async] |
user_data |
User data for |
|
... |
tuples of in parameter name, in parameter type, and in parameter
value, terminated with |
Returns
A GUPnPServiceProxyAction handle. This will be freed when
gupnp_service_proxy_cancel_action()
or
gupnp_service_proxy_end_action_valist()
.
[transfer none]
gupnp_service_proxy_begin_action_valist ()
GUPnPServiceProxyAction * gupnp_service_proxy_begin_action_valist (GUPnPServiceProxy *proxy
,const char *action
,GUPnPServiceProxyActionCallback callback
,gpointer user_data
,va_list var_args
);
See gupnp_service_proxy_begin_action()
.
Parameters
proxy |
||
action |
An action |
|
callback |
(scope async) : The callback to call when sending the action has succeeded or failed |
|
user_data |
User data for |
|
var_args |
A va_list of tuples of in parameter name, in parameter type, and in parameter value |
Returns
A GUPnPServiceProxyAction handle. This will
be freed when calling gupnp_service_proxy_cancel_action()
or
gupnp_service_proxy_end_action_valist()
.
[transfer none]
gupnp_service_proxy_begin_action_hash ()
GUPnPServiceProxyAction * gupnp_service_proxy_begin_action_hash (GUPnPServiceProxy *proxy
,const char *action
,GUPnPServiceProxyActionCallback callback
,gpointer user_data
,GHashTable *hash
);
gupnp_service_proxy_begin_action_hash
has been deprecated since version 0.20.9 and should not be used in newly-written code.
Use gupnp_service_proxy_send_action()
or
gupnp_service_proxy_send_action_list()
See gupnp_service_proxy_begin_action()
; this version takes a GHashTable
for runtime generated parameter lists.
Do not use this function in newly written code; it cannot guarantee the order of arguments and thus breaks interaction with many devices.
[skip]
Parameters
proxy |
||
action |
An action |
|
callback |
The callback to call when sending the action has succeeded or failed. |
[scope async] |
user_data |
User data for |
|
hash |
A GHashTable of in parameter name and GValue pairs. |
[element-type utf8 GValue] |
Returns
A GUPnPServiceProxyAction handle. This will
be freed when calling gupnp_service_proxy_cancel_action()
or
gupnp_service_proxy_end_action_hash()
.
[transfer none]
gupnp_service_proxy_begin_action_list ()
GUPnPServiceProxyAction * gupnp_service_proxy_begin_action_list (GUPnPServiceProxy *proxy
,const char *action
,GList *in_names
,GList *in_values
,GUPnPServiceProxyActionCallback callback
,gpointer user_data
);
A variant of gupnp_service_proxy_begin_action that takes lists of in-parameter names, types and values.
Parameters
proxy |
[transfer none] | |
action |
An action |
|
in_names |
GList of 'in' parameter names (as strings). |
[element-type utf8][transfer none] |
in_values |
[element-type GValue][transfer none] | |
callback |
(scope async) : The callback to call when sending the action has succeeded or failed |
|
user_data |
User data for |
Returns
A GUPnPServiceProxyAction handle. This will
be freed when calling gupnp_service_proxy_cancel_action()
or
gupnp_service_proxy_end_action_list()
.
[transfer none]
Since: 0.13.3
gupnp_service_proxy_end_action ()
gboolean gupnp_service_proxy_end_action (GUPnPServiceProxy *proxy
,GUPnPServiceProxyAction *action
,GError **error
,...
);
Retrieves the result of action
. The out parameters in Varargs
will be
filled in, and if an error occurred, error
will be set. In case of
an UPnP error the error code will be the same in error
.
Parameters
proxy |
||
action |
A GUPnPServiceProxyAction handle |
|
error |
The location where to store any error, or |
[allow-none] |
... |
tuples of out parameter name, out parameter type, and out parameter
value location, terminated with |
gupnp_service_proxy_end_action_valist ()
gboolean gupnp_service_proxy_end_action_valist (GUPnPServiceProxy *proxy
,GUPnPServiceProxyAction *action
,GError **error
,va_list var_args
);
See gupnp_service_proxy_end_action()
.
Parameters
proxy |
||
action |
A GUPnPServiceProxyAction handle |
|
error |
The location where to store any error, or |
[allow-none] |
var_args |
A va_list of tuples of out parameter name, out parameter type, and out parameter value location. The out parameter values should be freed after use |
gupnp_service_proxy_end_action_hash ()
gboolean gupnp_service_proxy_end_action_hash (GUPnPServiceProxy *proxy
,GUPnPServiceProxyAction *action
,GError **error
,GHashTable *hash
);
See gupnp_service_proxy_end_action()
; this version takes a GHashTable for
runtime generated parameter lists.
Parameters
proxy |
||
action |
A GUPnPServiceProxyAction handle |
|
error |
The location where to store any error, or |
|
hash |
A GHashTable of out parameter name and initialised GValue pairs. |
[element-type utf8 GValue][out caller-allocates][transfer none] |
gupnp_service_proxy_end_action_list ()
gboolean gupnp_service_proxy_end_action_list (GUPnPServiceProxy *proxy
,GUPnPServiceProxyAction *action
,GError **error
,GList *out_names
,GList *out_types
,GList **out_values
);
A variant of gupnp_service_proxy_end_action that takes lists of
out-parameter names, types and place-holders for values. The returned list
in out_values
must be freed using g_list_free and each element in it using
g_value_unset and g_slice_free.
[skip]
Parameters
proxy |
||
action |
A GUPnPServiceProxyAction handle |
|
error |
The location where to store any error, or |
[allow-none] |
out_names |
GList of 'out' parameter names (as strings). |
[element-type utf8][transfer none] |
out_types |
[element-type GType][transfer none] | |
out_values |
GList of values
(as GValue) that line up with |
[element-type GValue][transfer full][out] |
gupnp_service_proxy_cancel_action ()
void gupnp_service_proxy_cancel_action (GUPnPServiceProxy *proxy
,GUPnPServiceProxyAction *action
);
Cancels action
, freeing the action
handle.
gupnp_service_proxy_add_notify ()
gboolean gupnp_service_proxy_add_notify (GUPnPServiceProxy *proxy
,const char *variable
,GType type
,GUPnPServiceProxyNotifyCallback callback
,gpointer user_data
);
Sets up callback
to be called whenever a change notification for
variable
is recieved.
[skip]
gupnp_service_proxy_add_notify_full ()
gboolean gupnp_service_proxy_add_notify_full (GUPnPServiceProxy *proxy
,const char *variable
,GType type
,GUPnPServiceProxyNotifyCallback callback
,gpointer user_data
,GDestroyNotify notify
);
Sets up callback
to be called whenever a change notification for
variable
is recieved.
[rename-to gupnp_service_proxy_add_notify]
Parameters
proxy |
||
variable |
The variable to add notification for |
|
type |
The type of the variable |
|
callback |
The callback to call when |
[scope notified] |
user_data |
User data for |
|
notify |
Function to call when the notification is removed, or |
[allow-none] |
Since: 0.20.12
gupnp_service_proxy_add_raw_notify ()
gboolean gupnp_service_proxy_add_raw_notify (GUPnPServiceProxy *proxy
,GUPnPServiceProxyNotifyCallback callback
,gpointer user_data
,GDestroyNotify notify
);
Get a notification for anything that happens on the peer. value
in
callback
will be of type G_TYPE_POINTER and contain the pre-parsed
xmlDoc. Do NOT free or modify this document.
Parameters
proxy |
||
callback |
The callback to call when the peer issues any variable notification. |
[scope notified] |
user_data |
User data for |
|
notify |
A GDestroyNotify for |
[allow-none] |
Since: 0.20.12
gupnp_service_proxy_remove_notify ()
gboolean gupnp_service_proxy_remove_notify (GUPnPServiceProxy *proxy
,const char *variable
,GUPnPServiceProxyNotifyCallback callback
,gpointer user_data
);
Cancels the variable change notification for callback
and user_data
.
Up to version 0.20.9 this function must not be called directlya or indirectly from a GUPnPServiceProxyNotifyCallback associated with this service proxy, even if it is for another variable. In later versions such calls are allowed.
gupnp_service_proxy_remove_raw_notify ()
gboolean gupnp_service_proxy_remove_raw_notify (GUPnPServiceProxy *proxy
,GUPnPServiceProxyNotifyCallback callback
,gpointer user_data
);
Cancels the variable change notification for callback
and user_data
.
This function must not be called directly or indirectly from a GUPnPServiceProxyNotifyCallback associated with this service proxy, even if it is for another variable.
gupnp_service_proxy_set_subscribed ()
void gupnp_service_proxy_set_subscribed (GUPnPServiceProxy *proxy
,gboolean subscribed
);
(Un)subscribes to this service.
Note that the relevant messages are not immediately sent but queued. If you want to unsubcribe from this service because the application is quitting, rely on automatic synchronised unsubscription on object destruction instead.
gupnp_service_proxy_get_subscribed ()
gboolean
gupnp_service_proxy_get_subscribed (GUPnPServiceProxy *proxy
);
Returns if we are subscribed to this service.
Types and Values
struct GUPnPServiceProxy
struct GUPnPServiceProxy;
This struct contains private data only, and should be accessed using the functions below.
Property Details
The “subscribed”
property
“subscribed” gboolean
Whether we are subscribed to this service.
Flags: Read / Write
Default value: FALSE
Signal Details
The “subscription-lost”
signal
void user_function (GUPnPServiceProxy *proxy, gpointer error, gpointer user_data)
Emitted whenever the subscription to this service has been lost due to an error condition.
Parameters
proxy |
The GUPnPServiceProxy that received the signal |
|
error |
A pointer to a GError describing why the subscription has been lost. |
[type GError] |
user_data |
user data set when the signal handler was connected. |
Flags: Run Last