1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>GUPnPService</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GUPnP Reference Manual">
8 <link rel="up" href="api-device-impl.html" title="Device Implementation">
9 <link rel="prev" href="GUPnPRootDevice.html" title="GUPnPRootDevice">
10 <link rel="next" href="api-utility.html" title="Utility Functions">
11 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17 <td><a accesskey="p" href="GUPnPRootDevice.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="api-device-impl.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GUPnP Reference Manual</th>
21 <td><a accesskey="n" href="api-utility.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#GUPnPService.synopsis" class="shortcut">Top</a>
26 <a href="#GUPnPService.description" class="shortcut">Description</a>
28 <a href="#GUPnPService.object-hierarchy" class="shortcut">Object Hierarchy</a>
30 <a href="#GUPnPService.properties" class="shortcut">Properties</a>
32 <a href="#GUPnPService.signals" class="shortcut">Signals</a>
35 <div class="refentry">
36 <a name="GUPnPService"></a><div class="titlepage"></div>
37 <div class="refnamediv"><table width="100%"><tr>
39 <h2><span class="refentrytitle"><a name="GUPnPService.top_of_page"></a>GUPnPService</span></h2>
40 <p>GUPnPService — Class for service implementations.</p>
42 <td valign="top" align="right"></td>
44 <div class="refsynopsisdiv">
45 <a name="GUPnPService.synopsis"></a><h2>Synopsis</h2>
46 <a name="GUPnPServiceAction"></a><pre class="synopsis">struct <a class="link" href="GUPnPService.html#GUPnPService-struct" title="struct GUPnPService">GUPnPService</a>;
47 <a class="link" href="GUPnPService.html#GUPnPServiceAction-struct" title="GUPnPServiceAction">GUPnPServiceAction</a>;
48 const <span class="returnvalue">char</span> * <a class="link" href="GUPnPService.html#gupnp-service-action-get-name" title="gupnp_service_action_get_name ()">gupnp_service_action_get_name</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);
49 <span class="returnvalue">GList</span> * <a class="link" href="GUPnPService.html#gupnp-service-action-get-locales" title="gupnp_service_action_get_locales ()">gupnp_service_action_get_locales</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);
50 <span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-get" title="gupnp_service_action_get ()">gupnp_service_action_get</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
51 <em class="parameter"><code>...</code></em>);
52 <span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-get-valist" title="gupnp_service_action_get_valist ()">gupnp_service_action_get_valist</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
53 <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
54 <span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-get-value" title="gupnp_service_action_get_value ()">gupnp_service_action_get_value</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
55 <em class="parameter"><code>const <span class="type">char</span> *argument</code></em>,
56 <em class="parameter"><code><span class="type">GValue</span> *value</code></em>);
57 <span class="returnvalue">GValue</span> * <a class="link" href="GUPnPService.html#gupnp-service-action-get-gvalue" title="gupnp_service_action_get_gvalue ()">gupnp_service_action_get_gvalue</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
58 <em class="parameter"><code>const <span class="type">char</span> *argument</code></em>,
59 <em class="parameter"><code><span class="type">GType</span> type</code></em>);
60 <span class="returnvalue">GList</span> * <a class="link" href="GUPnPService.html#gupnp-service-action-get-values" title="gupnp_service_action_get_values ()">gupnp_service_action_get_values</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
61 <em class="parameter"><code><span class="type">GList</span> *arg_names</code></em>,
62 <em class="parameter"><code><span class="type">GList</span> *arg_types</code></em>);
63 <span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-set" title="gupnp_service_action_set ()">gupnp_service_action_set</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
64 <em class="parameter"><code>...</code></em>);
65 <span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-set-valist" title="gupnp_service_action_set_valist ()">gupnp_service_action_set_valist</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
66 <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
67 <span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-set-value" title="gupnp_service_action_set_value ()">gupnp_service_action_set_value</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
68 <em class="parameter"><code>const <span class="type">char</span> *argument</code></em>,
69 <em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);
70 <span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-set-values" title="gupnp_service_action_set_values ()">gupnp_service_action_set_values</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
71 <em class="parameter"><code><span class="type">GList</span> *arg_names</code></em>,
72 <em class="parameter"><code><span class="type">GList</span> *arg_values</code></em>);
73 <span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-return" title="gupnp_service_action_return ()">gupnp_service_action_return</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);
74 <span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-return-error" title="gupnp_service_action_return_error ()">gupnp_service_action_return_error</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
75 <em class="parameter"><code><span class="type">guint</span> error_code</code></em>,
76 <em class="parameter"><code>const <span class="type">char</span> *error_description</code></em>);
77 <span class="returnvalue">SoupMessage</span> * <a class="link" href="GUPnPService.html#gupnp-service-action-get-message" title="gupnp_service_action_get_message ()">gupnp_service_action_get_message</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);
78 <span class="returnvalue">guint</span> <a class="link" href="GUPnPService.html#gupnp-service-action-get-argument-count" title="gupnp_service_action_get_argument_count ()">gupnp_service_action_get_argument_count</a>
79 (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);
80 <span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-notify" title="gupnp_service_notify ()">gupnp_service_notify</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>,
81 <em class="parameter"><code>...</code></em>);
82 <span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-notify-valist" title="gupnp_service_notify_valist ()">gupnp_service_notify_valist</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>,
83 <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
84 <span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-notify-value" title="gupnp_service_notify_value ()">gupnp_service_notify_value</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>,
85 <em class="parameter"><code>const <span class="type">char</span> *variable</code></em>,
86 <em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);
87 <span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-freeze-notify" title="gupnp_service_freeze_notify ()">gupnp_service_freeze_notify</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>);
88 <span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-thaw-notify" title="gupnp_service_thaw_notify ()">gupnp_service_thaw_notify</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>);
89 <span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-signals-autoconnect" title="gupnp_service_signals_autoconnect ()">gupnp_service_signals_autoconnect</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>,
90 <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
91 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
94 <div class="refsect1">
95 <a name="GUPnPService.object-hierarchy"></a><h2>Object Hierarchy</h2>
96 <pre class="synopsis">
98 +----<a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo">GUPnPServiceInfo</a>
101 <pre class="synopsis">
103 +----GUPnPServiceAction
106 <div class="refsect1">
107 <a name="GUPnPService.properties"></a><h2>Properties</h2>
108 <pre class="synopsis">
109 "<a class="link" href="GUPnPService.html#GUPnPService--root-device" title='The "root-device" property'>root-device</a>" <a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a>* : Read / Write / Construct Only
112 <div class="refsect1">
113 <a name="GUPnPService.signals"></a><h2>Signals</h2>
114 <pre class="synopsis">
115 "<a class="link" href="GUPnPService.html#GUPnPService-action-invoked" title='The "action-invoked" signal'>action-invoked</a>" : <code class="literal">Has Details</code>
116 "<a class="link" href="GUPnPService.html#GUPnPService-notify-failed" title='The "notify-failed" signal'>notify-failed</a>" : <code class="literal">Run Last</code>
117 "<a class="link" href="GUPnPService.html#GUPnPService-query-variable" title='The "query-variable" signal'>query-variable</a>" : <code class="literal">Has Details</code>
120 <div class="refsect1">
121 <a name="GUPnPService.description"></a><h2>Description</h2>
123 <a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> allows for handling incoming actions and state variable
124 notification. <a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> implements the <a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> interface.
127 <div class="refsect1">
128 <a name="GUPnPService.details"></a><h2>Details</h2>
129 <div class="refsect2">
130 <a name="GUPnPService-struct"></a><h3>struct GUPnPService</h3>
131 <pre class="programlisting">struct GUPnPService;</pre>
133 This struct contains private data only, and should be accessed using the
138 <div class="refsect2">
139 <a name="GUPnPServiceAction-struct"></a><h3>GUPnPServiceAction</h3>
140 <pre class="programlisting">typedef struct _GUPnPServiceAction GUPnPServiceAction;</pre>
142 Opaque structure for holding in-progress action data.
146 <div class="refsect2">
147 <a name="gupnp-service-action-get-name"></a><h3>gupnp_service_action_get_name ()</h3>
148 <pre class="programlisting">const <span class="returnvalue">char</span> * gupnp_service_action_get_name (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);</pre>
150 Get the name of <em class="parameter"><code>action</code></em>.
152 <div class="variablelist"><table border="0">
153 <col align="left" valign="top">
156 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
157 <td>A <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
161 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
162 <td>The name of <em class="parameter"><code>action</code></em>
169 <div class="refsect2">
170 <a name="gupnp-service-action-get-locales"></a><h3>gupnp_service_action_get_locales ()</h3>
171 <pre class="programlisting"><span class="returnvalue">GList</span> * gupnp_service_action_get_locales (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);</pre>
173 Get an ordered (preferred first) <span class="type">GList</span> of locales preferred by
174 the client. Free list and elements after use.
176 <div class="variablelist"><table border="0">
177 <col align="left" valign="top">
180 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
181 <td>A <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
185 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
186 <td>A <span class="type">GList</span> of <span class="type">char</span>*
187 locale names. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
194 <div class="refsect2">
195 <a name="gupnp-service-action-get"></a><h3>gupnp_service_action_get ()</h3>
196 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_action_get (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
197 <em class="parameter"><code>...</code></em>);</pre>
199 Retrieves the specified action arguments.
201 <div class="variablelist"><table border="0">
202 <col align="left" valign="top">
204 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
205 <td>A <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
211 <div class="refsect2">
212 <a name="gupnp-service-action-get-valist"></a><h3>gupnp_service_action_get_valist ()</h3>
213 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_action_get_valist (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
214 <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
216 See <a class="link" href="GUPnPService.html#gupnp-service-action-get" title="gupnp_service_action_get ()"><code class="function">gupnp_service_action_get()</code></a>; this version takes a va_list for
217 use by language bindings.
219 <div class="variablelist"><table border="0">
220 <col align="left" valign="top">
223 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
224 <td>A <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
228 <td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
229 <td>va_list of tuples of argument name, argument type, and argument
236 <div class="refsect2">
237 <a name="gupnp-service-action-get-value"></a><h3>gupnp_service_action_get_value ()</h3>
238 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_action_get_value (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
239 <em class="parameter"><code>const <span class="type">char</span> *argument</code></em>,
240 <em class="parameter"><code><span class="type">GValue</span> *value</code></em>);</pre>
242 Retrieves the value of <em class="parameter"><code>argument</code></em> into <em class="parameter"><code>value</code></em>.
244 <div class="variablelist"><table border="0">
245 <col align="left" valign="top">
248 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
249 <td>A <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
253 <td><p><span class="term"><em class="parameter"><code>argument</code></em> :</span></p></td>
254 <td>The name of the argument to retrieve</td>
257 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
258 <td>The <span class="type">GValue</span> to store the value of the argument, initialized
259 to the correct type. <span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span>
266 <div class="refsect2">
267 <a name="gupnp-service-action-get-gvalue"></a><h3>gupnp_service_action_get_gvalue ()</h3>
268 <pre class="programlisting"><span class="returnvalue">GValue</span> * gupnp_service_action_get_gvalue (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
269 <em class="parameter"><code>const <span class="type">char</span> *argument</code></em>,
270 <em class="parameter"><code><span class="type">GType</span> type</code></em>);</pre>
272 Retrieves the value of <em class="parameter"><code>argument</code></em> into a GValue of type <em class="parameter"><code>type</code></em> and returns it.
273 The method exists only and only to satify PyGI, please use
274 <a class="link" href="GUPnPService.html#gupnp-service-action-get-value" title="gupnp_service_action_get_value ()"><span class="type">gupnp_service_action_get_value</span></a> and ignore this if possible.
276 <div class="variablelist"><table border="0">
277 <col align="left" valign="top">
280 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
281 <td>A <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
285 <td><p><span class="term"><em class="parameter"><code>argument</code></em> :</span></p></td>
286 <td>The name of the argument to retrieve</td>
289 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
290 <td>The type of argument to retrieve</td>
293 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
294 <td>Value as <span class="type">GValue</span> associated with <em class="parameter"><code>action</code></em>.
295 <span class="type">g_value_unset</span> and <span class="type">g_slice_free</span> it after usage.
296 Rename To: gupnp_service_action_get_value. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
303 <div class="refsect2">
304 <a name="gupnp-service-action-get-values"></a><h3>gupnp_service_action_get_values ()</h3>
305 <pre class="programlisting"><span class="returnvalue">GList</span> * gupnp_service_action_get_values (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
306 <em class="parameter"><code><span class="type">GList</span> *arg_names</code></em>,
307 <em class="parameter"><code><span class="type">GList</span> *arg_types</code></em>);</pre>
309 A variant of <a class="link" href="GUPnPService.html#gupnp-service-action-get" title="gupnp_service_action_get ()"><span class="type">gupnp_service_action_get</span></a> that uses <span class="type">GList</span> instead of varargs.
311 <div class="variablelist"><table border="0">
312 <col align="left" valign="top">
315 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
316 <td>A <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
320 <td><p><span class="term"><em class="parameter"><code>arg_names</code></em> :</span></p></td>
321 <td>(element-type utf8) : A <span class="type">GList</span> of argument names as string</td>
324 <td><p><span class="term"><em class="parameter"><code>arg_types</code></em> :</span></p></td>
325 <td>A <span class="type">GList</span> of argument types as <span class="type">GType</span>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GType]</span>
329 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
330 <td>The values as <span class="type">GList</span> of
331 <span class="type">GValue</span>. <span class="type">g_list_free</span> the returned list and <span class="type">g_value_unset</span> and <span class="type">g_slice_free</span>
332 each element. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GValue][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
339 <div class="refsect2">
340 <a name="gupnp-service-action-set"></a><h3>gupnp_service_action_set ()</h3>
341 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_action_set (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
342 <em class="parameter"><code>...</code></em>);</pre>
344 Sets the specified action return values.
346 <div class="variablelist"><table border="0">
347 <col align="left" valign="top">
349 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
350 <td>A <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
356 <div class="refsect2">
357 <a name="gupnp-service-action-set-valist"></a><h3>gupnp_service_action_set_valist ()</h3>
358 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_action_set_valist (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
359 <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
361 See <a class="link" href="GUPnPService.html#gupnp-service-action-set" title="gupnp_service_action_set ()"><code class="function">gupnp_service_action_set()</code></a>; this version takes a va_list for
362 use by language bindings.
364 <div class="variablelist"><table border="0">
365 <col align="left" valign="top">
368 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
369 <td>A <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
373 <td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
374 <td>va_list of tuples of return value name, return value type, and
375 actual return value.</td>
381 <div class="refsect2">
382 <a name="gupnp-service-action-set-value"></a><h3>gupnp_service_action_set_value ()</h3>
383 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_action_set_value (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
384 <em class="parameter"><code>const <span class="type">char</span> *argument</code></em>,
385 <em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);</pre>
387 Sets the value of <em class="parameter"><code>argument</code></em> to <em class="parameter"><code>value</code></em>.
389 <div class="variablelist"><table border="0">
390 <col align="left" valign="top">
393 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
394 <td>A <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
398 <td><p><span class="term"><em class="parameter"><code>argument</code></em> :</span></p></td>
399 <td>The name of the return value to retrieve</td>
402 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
403 <td>The <span class="type">GValue</span> to store the return value</td>
409 <div class="refsect2">
410 <a name="gupnp-service-action-set-values"></a><h3>gupnp_service_action_set_values ()</h3>
411 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_action_set_values (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
412 <em class="parameter"><code><span class="type">GList</span> *arg_names</code></em>,
413 <em class="parameter"><code><span class="type">GList</span> *arg_values</code></em>);</pre>
415 Sets the specified action return values.
417 <div class="variablelist"><table border="0">
418 <col align="left" valign="top">
421 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
422 <td>A <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
426 <td><p><span class="term"><em class="parameter"><code>arg_names</code></em> :</span></p></td>
427 <td>A <span class="type">GList</span> of argument names. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
431 <td><p><span class="term"><em class="parameter"><code>arg_values</code></em> :</span></p></td>
432 <td>The <span class="type">GList</span> of values (as
433 <span class="type">GValues</span>) that line up with <em class="parameter"><code>arg_names</code></em>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GValue][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
440 <div class="refsect2">
441 <a name="gupnp-service-action-return"></a><h3>gupnp_service_action_return ()</h3>
442 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_action_return (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);</pre>
446 <div class="variablelist"><table border="0">
447 <col align="left" valign="top">
449 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
450 <td>A <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
456 <div class="refsect2">
457 <a name="gupnp-service-action-return-error"></a><h3>gupnp_service_action_return_error ()</h3>
458 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_action_return_error (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
459 <em class="parameter"><code><span class="type">guint</span> error_code</code></em>,
460 <em class="parameter"><code>const <span class="type">char</span> *error_description</code></em>);</pre>
462 Return <em class="parameter"><code>error_code</code></em>.
464 <div class="variablelist"><table border="0">
465 <col align="left" valign="top">
468 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
469 <td>A <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
473 <td><p><span class="term"><em class="parameter"><code>error_code</code></em> :</span></p></td>
474 <td>The error code</td>
477 <td><p><span class="term"><em class="parameter"><code>error_description</code></em> :</span></p></td>
478 <td>The error description, or <code class="literal">NULL</code> if <em class="parameter"><code>error_code</code></em> is
479 one of <a class="link" href="gupnp-Error-codes.html#GUPNP-CONTROL-ERROR-INVALID-ACTION:CAPS"><span class="type">GUPNP_CONTROL_ERROR_INVALID_ACTION</span></a>,
480 <a class="link" href="gupnp-Error-codes.html#GUPNP-CONTROL-ERROR-INVALID-ARGS:CAPS"><span class="type">GUPNP_CONTROL_ERROR_INVALID_ARGS</span></a>, <a class="link" href="gupnp-Error-codes.html#GUPNP-CONTROL-ERROR-OUT-OF-SYNC:CAPS"><span class="type">GUPNP_CONTROL_ERROR_OUT_OF_SYNC</span></a> or
481 <a class="link" href="gupnp-Error-codes.html#GUPNP-CONTROL-ERROR-ACTION-FAILED:CAPS"><span class="type">GUPNP_CONTROL_ERROR_ACTION_FAILED</span></a>, in which case a description is
482 provided automatically.</td>
488 <div class="refsect2">
489 <a name="gupnp-service-action-get-message"></a><h3>gupnp_service_action_get_message ()</h3>
490 <pre class="programlisting"><span class="returnvalue">SoupMessage</span> * gupnp_service_action_get_message (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);</pre>
492 Get the <span class="type">SoupMessage</span> associated with <em class="parameter"><code>action</code></em>. Mainly intended for
493 applications to be able to read HTTP headers received from clients.
495 <div class="variablelist"><table border="0">
496 <col align="left" valign="top">
499 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
500 <td>A <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
504 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
506 <span class="type">SoupMessage</span> associated with <em class="parameter"><code>action</code></em>. Unref
507 after using it. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
514 <div class="refsect2">
515 <a name="gupnp-service-action-get-argument-count"></a><h3>gupnp_service_action_get_argument_count ()</h3>
516 <pre class="programlisting"><span class="returnvalue">guint</span> gupnp_service_action_get_argument_count
517 (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);</pre>
519 Get the number of IN arguments from the <em class="parameter"><code>action</code></em> and return it.
521 <div class="variablelist"><table border="0">
522 <col align="left" valign="top">
525 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
526 <td>A <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
530 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
531 <td>The number of IN arguments from the <em class="parameter"><code>action</code></em>.</td>
537 <div class="refsect2">
538 <a name="gupnp-service-notify"></a><h3>gupnp_service_notify ()</h3>
539 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_notify (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>,
540 <em class="parameter"><code>...</code></em>);</pre>
542 Notifies listening clients that the properties listed in <em class="parameter"><code>Varargs</code></em>
543 have changed to the specified values.
545 <div class="variablelist"><table border="0">
546 <col align="left" valign="top">
548 <td><p><span class="term"><em class="parameter"><code>service</code></em> :</span></p></td>
549 <td>A <a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a>
555 <div class="refsect2">
556 <a name="gupnp-service-notify-valist"></a><h3>gupnp_service_notify_valist ()</h3>
557 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_notify_valist (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>,
558 <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
560 See <a class="link" href="GUPnPService.html#gupnp-service-notify" title="gupnp_service_notify ()"><code class="function">gupnp_service_notify()</code></a>; this version takes a va_list for
561 use by language bindings.
563 <div class="variablelist"><table border="0">
564 <col align="left" valign="top">
567 <td><p><span class="term"><em class="parameter"><code>service</code></em> :</span></p></td>
568 <td>A <a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a>
572 <td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
573 <td>A va_list of tuples of variable name, variable type, and variable
574 value, terminated with <code class="literal">NULL</code>.</td>
580 <div class="refsect2">
581 <a name="gupnp-service-notify-value"></a><h3>gupnp_service_notify_value ()</h3>
582 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_notify_value (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>,
583 <em class="parameter"><code>const <span class="type">char</span> *variable</code></em>,
584 <em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);</pre>
586 Notifies listening clients that <em class="parameter"><code>variable</code></em> has changed to <em class="parameter"><code>value</code></em>.
588 <div class="variablelist"><table border="0">
589 <col align="left" valign="top">
592 <td><p><span class="term"><em class="parameter"><code>service</code></em> :</span></p></td>
593 <td>A <a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a>
597 <td><p><span class="term"><em class="parameter"><code>variable</code></em> :</span></p></td>
598 <td>The name of the variable to notify</td>
601 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
602 <td>The value of the variable</td>
608 <div class="refsect2">
609 <a name="gupnp-service-freeze-notify"></a><h3>gupnp_service_freeze_notify ()</h3>
610 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_freeze_notify (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>);</pre>
612 Causes new notifications to be queued up until <a class="link" href="GUPnPService.html#gupnp-service-thaw-notify" title="gupnp_service_thaw_notify ()"><code class="function">gupnp_service_thaw_notify()</code></a>
615 <div class="variablelist"><table border="0">
616 <col align="left" valign="top">
618 <td><p><span class="term"><em class="parameter"><code>service</code></em> :</span></p></td>
619 <td>A <a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a>
625 <div class="refsect2">
626 <a name="gupnp-service-thaw-notify"></a><h3>gupnp_service_thaw_notify ()</h3>
627 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_thaw_notify (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>);</pre>
629 Sends out any pending notifications, and stops queuing of new ones.
631 <div class="variablelist"><table border="0">
632 <col align="left" valign="top">
634 <td><p><span class="term"><em class="parameter"><code>service</code></em> :</span></p></td>
635 <td>A <a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a>
641 <div class="refsect2">
642 <a name="gupnp-service-signals-autoconnect"></a><h3>gupnp_service_signals_autoconnect ()</h3>
643 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_signals_autoconnect (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>,
644 <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
645 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
647 A convenience function that attempts to connect all possible
648 <a class="link" href="GUPnPService.html#GUPnPService-action-invoked" title='The "action-invoked" signal'><span class="type">"action-invoked"</span></a> and <a class="link" href="GUPnPService.html#GUPnPService-query-variable" title='The "query-variable" signal'><span class="type">"query-variable"</span></a> signals to
649 appropriate callbacks for the service <em class="parameter"><code>service</code></em>. It uses service introspection
650 and GModule's introspective features. It is very simillar to
651 <code class="function">glade_xml_signal_autoconnect()</code> except that it attempts to guess the names of
652 the signal handlers on its own.
655 For this function to do its magic, the application must name the callback
656 functions for <a class="link" href="GUPnPService.html#GUPnPService-action-invoked" title='The "action-invoked" signal'><span class="type">"action-invoked"</span></a> signals by striping the CamelCase
657 off the action names and either prepend "on_" or append "_cb" to them. Same
658 goes for <a class="link" href="GUPnPService.html#GUPnPService-query-variable" title='The "query-variable" signal'><span class="type">"query-variable"</span></a> signals, except that "query_" should
659 be prepended to the variable name. For example, callback function for
660 "GetSystemUpdateID" action should be either named as
661 "get_system_update_id_cb" or "on_get_system_update_id" and callback function
662 for the query of "SystemUpdateID" state variable should be named
663 "query_system_update_id_cb" or "on_query_system_update_id".
666 Note that this function will not work correctly if GModule is not supported
667 on the platform or introspection is not available for service <em class="parameter"><code>service</code></em>.
670 WARNING: This function can not and therefore does not guarantee that the
671 resulting signal connections will be correct as it depends heavily on a
672 particular naming schemes described above.
674 <div class="variablelist"><table border="0">
675 <col align="left" valign="top">
678 <td><p><span class="term"><em class="parameter"><code>service</code></em> :</span></p></td>
679 <td>A <a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a>
683 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
684 <td>the data to pass to each of the callbacks</td>
687 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
688 <td>return location for a <span class="type">GError</span>, or <code class="literal">NULL</code>
695 <div class="refsect1">
696 <a name="GUPnPService.property-details"></a><h2>Property Details</h2>
697 <div class="refsect2">
698 <a name="GUPnPService--root-device"></a><h3>The <code class="literal">"root-device"</code> property</h3>
699 <pre class="programlisting"> "root-device" <a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a>* : Read / Write / Construct Only</pre>
701 The containing <a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a>.
705 <div class="refsect1">
706 <a name="GUPnPService.signal-details"></a><h2>Signal Details</h2>
707 <div class="refsect2">
708 <a name="GUPnPService-action-invoked"></a><h3>The <code class="literal">"action-invoked"</code> signal</h3>
709 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service,
710 <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action,
711 <span class="type">gpointer</span> user_data) : <code class="literal">Has Details</code></pre>
713 Emitted whenever an action is invoked. Handler should process
714 <em class="parameter"><code>action</code></em> and must call either <a class="link" href="GUPnPService.html#gupnp-service-action-return" title="gupnp_service_action_return ()"><code class="function">gupnp_service_action_return()</code></a> or
715 <a class="link" href="GUPnPService.html#gupnp-service-action-return-error" title="gupnp_service_action_return_error ()"><code class="function">gupnp_service_action_return_error()</code></a>.
717 <div class="variablelist"><table border="0">
718 <col align="left" valign="top">
721 <td><p><span class="term"><em class="parameter"><code>service</code></em> :</span></p></td>
722 <td>The <a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> that received the signal</td>
725 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
726 <td>The invoked <span class="type">GUPnPAction</span>
730 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
731 <td>user data set when the signal handler was connected.</td>
737 <div class="refsect2">
738 <a name="GUPnPService-notify-failed"></a><h3>The <code class="literal">"notify-failed"</code> signal</h3>
739 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service,
740 <span class="type">gpointer</span> callback_url,
741 <span class="type">gpointer</span> reason,
742 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
744 Emitted whenever notification of a client fails.
746 <div class="variablelist"><table border="0">
747 <col align="left" valign="top">
750 <td><p><span class="term"><em class="parameter"><code>service</code></em> :</span></p></td>
751 <td>The <a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> that received the signal</td>
754 <td><p><span class="term"><em class="parameter"><code>callback_url</code></em> :</span></p></td>
755 <td>A <span class="type">GList</span> of callback URLs. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GList][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> SoupURI]</span>
759 <td><p><span class="term"><em class="parameter"><code>reason</code></em> :</span></p></td>
760 <td>A pointer to a <span class="type">GError</span> describing why the notify failed. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GError]</span>
764 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
765 <td>user data set when the signal handler was connected.</td>
771 <div class="refsect2">
772 <a name="GUPnPService-query-variable"></a><h3>The <code class="literal">"query-variable"</code> signal</h3>
773 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service,
774 <span class="type">gchar</span> *variable,
775 <span class="type">gpointer</span> value,
776 <span class="type">gpointer</span> user_data) : <code class="literal">Has Details</code></pre>
778 Emitted whenever <em class="parameter"><code>service</code></em> needs to know the value of <em class="parameter"><code>variable</code></em>.
779 Handler should fill <em class="parameter"><code>value</code></em> with the value of <em class="parameter"><code>variable</code></em>.
781 <div class="variablelist"><table border="0">
782 <col align="left" valign="top">
785 <td><p><span class="term"><em class="parameter"><code>service</code></em> :</span></p></td>
786 <td>The <a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> that received the signal</td>
789 <td><p><span class="term"><em class="parameter"><code>variable</code></em> :</span></p></td>
790 <td>The variable that is being queried</td>
793 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
794 <td>The location of the <span class="type">GValue</span> of the variable. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GValue][<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span>
798 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
799 <td>user data set when the signal handler was connected.</td>
808 Generated by GTK-Doc V1.18</div>