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>GUPnPContextManager</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-utility.html" title="Utility Functions">
9 <link rel="prev" href="GUPnPContext.html" title="GUPnPContext">
10 <link rel="next" href="GUPnPResourceFactory.html" title="GUPnPResourceFactory">
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="GUPnPContext.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="api-utility.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="GUPnPResourceFactory.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="#GUPnPContextManager.synopsis" class="shortcut">Top</a>
26 <a href="#GUPnPContextManager.description" class="shortcut">Description</a>
28 <a href="#GUPnPContextManager.object-hierarchy" class="shortcut">Object Hierarchy</a>
30 <a href="#GUPnPContextManager.properties" class="shortcut">Properties</a>
32 <a href="#GUPnPContextManager.signals" class="shortcut">Signals</a>
35 <div class="refentry">
36 <a name="GUPnPContextManager"></a><div class="titlepage"></div>
37 <div class="refnamediv"><table width="100%"><tr>
39 <h2><span class="refentrytitle"><a name="GUPnPContextManager.top_of_page"></a>GUPnPContextManager</span></h2>
40 <p>GUPnPContextManager — Manages <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> objects.</p>
42 <td valign="top" align="right"></td>
44 <div class="refsynopsisdiv">
45 <a name="GUPnPContextManager.synopsis"></a><h2>Synopsis</h2>
46 <pre class="synopsis">struct <a class="link" href="GUPnPContextManager.html#GUPnPContextManager-struct" title="struct GUPnPContextManager">GUPnPContextManager</a>;
47 <a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="returnvalue">GUPnPContextManager</span></a> * <a class="link" href="GUPnPContextManager.html#gupnp-context-manager-new" title="gupnp_context_manager_new ()">gupnp_context_manager_new</a> (<em class="parameter"><code><span class="type">GMainContext</span> *main_context</code></em>,
48 <em class="parameter"><code><span class="type">guint</span> port</code></em>);
49 <a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="returnvalue">GUPnPContextManager</span></a> * <a class="link" href="GUPnPContextManager.html#gupnp-context-manager-create" title="gupnp_context_manager_create ()">gupnp_context_manager_create</a> (<em class="parameter"><code><span class="type">guint</span> port</code></em>);
50 <span class="returnvalue">void</span> <a class="link" href="GUPnPContextManager.html#gupnp-context-manager-manage-control-point" title="gupnp_context_manager_manage_control_point ()">gupnp_context_manager_manage_control_point</a>
51 (<em class="parameter"><code><a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> *manager</code></em>,
52 <em class="parameter"><code><a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> *control_point</code></em>);
53 <span class="returnvalue">void</span> <a class="link" href="GUPnPContextManager.html#gupnp-context-manager-manage-root-device" title="gupnp_context_manager_manage_root_device ()">gupnp_context_manager_manage_root_device</a>
54 (<em class="parameter"><code><a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> *manager</code></em>,
55 <em class="parameter"><code><a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> *root_device</code></em>);
58 <div class="refsect1">
59 <a name="GUPnPContextManager.object-hierarchy"></a><h2>Object Hierarchy</h2>
60 <pre class="synopsis">
62 +----GUPnPContextManager
65 <div class="refsect1">
66 <a name="GUPnPContextManager.properties"></a><h2>Properties</h2>
67 <pre class="synopsis">
68 "<a class="link" href="GUPnPContextManager.html#GUPnPContextManager--main-context" title='The "main-context" property'>main-context</a>" <span class="type">gpointer</span> : Read / Write / Construct Only
69 "<a class="link" href="GUPnPContextManager.html#GUPnPContextManager--port" title='The "port" property'>port</a>" <span class="type">guint</span> : Read / Write / Construct Only
72 <div class="refsect1">
73 <a name="GUPnPContextManager.signals"></a><h2>Signals</h2>
74 <pre class="synopsis">
75 "<a class="link" href="GUPnPContextManager.html#GUPnPContextManager-context-available" title='The "context-available" signal'>context-available</a>" : <code class="literal">Run Last</code>
76 "<a class="link" href="GUPnPContextManager.html#GUPnPContextManager-context-unavailable" title='The "context-unavailable" signal'>context-unavailable</a>" : <code class="literal">Run First</code>
79 <div class="refsect1">
80 <a name="GUPnPContextManager.description"></a><h2>Description</h2>
82 A Utility class that takes care of creation and destruction of
83 <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> objects for all available network interfaces as they go up
84 (connect) and down (disconnect), respectively.
87 <div class="refsect1">
88 <a name="GUPnPContextManager.details"></a><h2>Details</h2>
89 <div class="refsect2">
90 <a name="GUPnPContextManager-struct"></a><h3>struct GUPnPContextManager</h3>
91 <pre class="programlisting">struct GUPnPContextManager;</pre>
93 This struct contains private data only, and should be accessed using the
98 <div class="refsect2">
99 <a name="gupnp-context-manager-new"></a><h3>gupnp_context_manager_new ()</h3>
100 <pre class="programlisting"><a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="returnvalue">GUPnPContextManager</span></a> * gupnp_context_manager_new (<em class="parameter"><code><span class="type">GMainContext</span> *main_context</code></em>,
101 <em class="parameter"><code><span class="type">guint</span> port</code></em>);</pre>
102 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
103 <h3 class="title">Warning</h3>
104 <p><code class="literal">gupnp_context_manager_new</code> has been deprecated since version 0.17.2 and should not be used in newly-written code. Use <a class="link" href="GUPnPContextManager.html#gupnp-context-manager-create" title="gupnp_context_manager_create ()"><code class="function">gupnp_context_manager_create()</code></a>.</p>
107 Same as <a class="link" href="GUPnPContextManager.html#gupnp-context-manager-create" title="gupnp_context_manager_create ()"><code class="function">gupnp_context_manager_create()</code></a>.
109 <div class="variablelist"><table border="0">
110 <col align="left" valign="top">
113 <td><p><span class="term"><em class="parameter"><code>main_context</code></em> :</span></p></td>
114 <td>Deprecated: 0.17.2: <code class="literal">NULL</code>. If you want to use
115 a different main context use
116 <code class="function">g_main_context_push_thread_default()</code> instead. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
120 <td><p><span class="term"><em class="parameter"><code>port</code></em> :</span></p></td>
121 <td>Port to create contexts for, or 0 if you don't care what port is used.</td>
124 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
125 <td>A new <a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> object. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
132 <div class="refsect2">
133 <a name="gupnp-context-manager-create"></a><h3>gupnp_context_manager_create ()</h3>
134 <pre class="programlisting"><a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="returnvalue">GUPnPContextManager</span></a> * gupnp_context_manager_create (<em class="parameter"><code><span class="type">guint</span> port</code></em>);</pre>
136 Factory-method to create a new <a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a>. The final type of the
137 <a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> depends on the compile-time selection or - in case of
138 NetworkManager - on its availability during runtime. If it is not available,
139 the implementation falls back to the basic Unix context manager instead.
141 <div class="variablelist"><table border="0">
142 <col align="left" valign="top">
145 <td><p><span class="term"><em class="parameter"><code>port</code></em> :</span></p></td>
146 <td>Port to create contexts for, or 0 if you don't care what port is used.</td>
149 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
150 <td>A new <a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> object. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
157 <div class="refsect2">
158 <a name="gupnp-context-manager-manage-control-point"></a><h3>gupnp_context_manager_manage_control_point ()</h3>
159 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_context_manager_manage_control_point
160 (<em class="parameter"><code><a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> *manager</code></em>,
161 <em class="parameter"><code><a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> *control_point</code></em>);</pre>
163 By calling this function, you are asking <em class="parameter"><code>manager</code></em> to keep a reference to
164 <em class="parameter"><code>control_point</code></em> until it's associated <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> is no longer available.
165 You usually want to call this function from
166 <a class="link" href="GUPnPContextManager.html#GUPnPContextManager-context-available" title='The "context-available" signal'><span class="type">"context-available"</span></a> handler after you create a
167 <a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> object for the newly available context.
169 <div class="variablelist"><table border="0">
170 <col align="left" valign="top">
173 <td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
174 <td>A <a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a>
178 <td><p><span class="term"><em class="parameter"><code>control_point</code></em> :</span></p></td>
179 <td>The <a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> to be taken care of</td>
185 <div class="refsect2">
186 <a name="gupnp-context-manager-manage-root-device"></a><h3>gupnp_context_manager_manage_root_device ()</h3>
187 <pre class="programlisting"><span class="returnvalue">void</span> gupnp_context_manager_manage_root_device
188 (<em class="parameter"><code><a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> *manager</code></em>,
189 <em class="parameter"><code><a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> *root_device</code></em>);</pre>
191 By calling this function, you are asking <em class="parameter"><code>manager</code></em> to keep a reference to
192 <em class="parameter"><code>root_device</code></em> when it's associated <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> is no longer available. You
193 usually want to call this function from
194 <a class="link" href="GUPnPContextManager.html#GUPnPContextManager-context-available" title='The "context-available" signal'><span class="type">"context-available"</span></a> handler after you create a
195 <a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> object for the newly available context.
197 <div class="variablelist"><table border="0">
198 <col align="left" valign="top">
201 <td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
202 <td>A <a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a>
206 <td><p><span class="term"><em class="parameter"><code>root_device</code></em> :</span></p></td>
207 <td>The <a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> to be taken care of</td>
213 <div class="refsect1">
214 <a name="GUPnPContextManager.property-details"></a><h2>Property Details</h2>
215 <div class="refsect2">
216 <a name="GUPnPContextManager--main-context"></a><h3>The <code class="literal">"main-context"</code> property</h3>
217 <pre class="programlisting"> "main-context" <span class="type">gpointer</span> : Read / Write / Construct Only</pre>
218 <p>GMainContext to pass to created GUPnPContext objects.</p>
221 <div class="refsect2">
222 <a name="GUPnPContextManager--port"></a><h3>The <code class="literal">"port"</code> property</h3>
223 <pre class="programlisting"> "port" <span class="type">guint</span> : Read / Write / Construct Only</pre>
225 Port the contexts listen on, or 0 if you don't care what
226 port is used by <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> objects created by this object.
228 <p>Default value: 0</p>
231 <div class="refsect1">
232 <a name="GUPnPContextManager.signal-details"></a><h2>Signal Details</h2>
233 <div class="refsect2">
234 <a name="GUPnPContextManager-context-available"></a><h3>The <code class="literal">"context-available"</code> signal</h3>
235 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> *context_manager,
236 <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context,
237 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
239 Signals the availability of new <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a>.
241 <div class="variablelist"><table border="0">
242 <col align="left" valign="top">
245 <td><p><span class="term"><em class="parameter"><code>context_manager</code></em> :</span></p></td>
246 <td>The <a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> that received the signal</td>
249 <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
250 <td>The now available <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a>
254 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
255 <td>user data set when the signal handler was connected.</td>
261 <div class="refsect2">
262 <a name="GUPnPContextManager-context-unavailable"></a><h3>The <code class="literal">"context-unavailable"</code> signal</h3>
263 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> *context_manager,
264 <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context,
265 <span class="type">gpointer</span> user_data) : <code class="literal">Run First</code></pre>
267 Signals the unavailability of a <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a>.
269 <div class="variablelist"><table border="0">
270 <col align="left" valign="top">
273 <td><p><span class="term"><em class="parameter"><code>context_manager</code></em> :</span></p></td>
274 <td>The <a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> that received the signal</td>
277 <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
278 <td>The now unavailable <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a>
282 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
283 <td>user data set when the signal handler was connected.</td>
292 Generated by GTK-Doc V1.18</div>