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>McdDispatcher</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
7
<link rel="home" href="index.html" title="libmissioncontrol-server Reference Manual">
8
<link rel="up" href="ch01.html" title="libmissioncontrol-server">
9
<link rel="prev" href="McdController.html" title="McdController">
10
<link rel="next" href="libmissioncontrol-server-mcd-dispatcher-context.html" title="mcd-dispatcher-context">
11
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
12
<link rel="stylesheet" href="style.css" type="text/css">
13
<link rel="chapter" href="ch01.html" title="libmissioncontrol-server">
15
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
16
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
18
<td><a accesskey="p" href="McdController.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
19
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
20
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
21
<th width="100%" align="center">libmissioncontrol-server Reference Manual</th>
22
<td><a accesskey="n" href="libmissioncontrol-server-mcd-dispatcher-context.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
24
<tr><td colspan="5" class="shortcuts">
25
<a href="#McdDispatcher.synopsis" class="shortcut">Top</a>
27
<a href="#McdDispatcher.description" class="shortcut">Description</a>
29
<a href="#McdDispatcher.object-hierarchy" class="shortcut">Object Hierarchy</a>
31
<a href="#McdDispatcher.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
33
<a href="#McdDispatcher.properties" class="shortcut">Properties</a>
35
<a href="#McdDispatcher.signals" class="shortcut">Signals</a>
38
<div class="refentry" title="McdDispatcher">
39
<a name="McdDispatcher"></a><div class="titlepage"></div>
40
<div class="refnamediv"><table width="100%"><tr>
42
<h2><span class="refentrytitle"><a name="McdDispatcher.top_of_page"></a>McdDispatcher</span></h2>
43
<p>McdDispatcher — Dispatcher class to dispatch channels to handlers</p>
45
<td valign="top" align="right"></td>
47
<div class="refsect1" title="Stability Level">
48
<a name="McdDispatcher.stability-level"></a><h2>Stability Level</h2>
49
Unstable, unless otherwise indicated
51
<div class="refsynopsisdiv" title="Synopsis">
52
<a name="McdDispatcher.synopsis"></a><h2>Synopsis</h2>
53
<pre class="synopsis">
55
#include <mcd-dispatcher.h>
57
<a class="link" href="McdDispatcher.html#McdDispatcher-struct" title="McdDispatcher">McdDispatcher</a>;
58
<a class="link" href="McdDispatcher.html" title="McdDispatcher">McdDispatcher</a> * <a class="link" href="McdDispatcher.html#mcd-dispatcher-new" title="mcd_dispatcher_new ()">mcd_dispatcher_new</a> (<a
59
href="/usr/share/gtk-doc/html/telepathy-glib/telepathy-glib-dbus.html#TpDBusDaemon"
60
>TpDBusDaemon</a> *dbus_daemon,
61
<a class="link" href="McdMaster.html" title="McdMaster">McdMaster</a> *master);
63
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"
64
>gint</a> <a class="link" href="McdDispatcher.html#mcd-dispatcher-get-channel-type-usage" title="mcd_dispatcher_get_channel_type_usage ()">mcd_dispatcher_get_channel_type_usage</a>
65
(<a class="link" href="McdDispatcher.html" title="McdDispatcher">McdDispatcher</a> *dispatcher,
67
href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"
68
>GQuark</a> chan_type_quark);
69
void <a class="link" href="McdDispatcher.html#mcd-dispatcher-add-filter" title="mcd_dispatcher_add_filter ()">mcd_dispatcher_add_filter</a> (<a class="link" href="McdDispatcher.html" title="McdDispatcher">McdDispatcher</a> *dispatcher,
70
<a class="link" href="libmissioncontrol-server-mcd-dispatcher-context.html#McdFilterFunc" title="McdFilterFunc ()">McdFilterFunc</a> filter,
72
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"
75
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
76
>gpointer</a> user_data);
77
void <a class="link" href="McdDispatcher.html#mcd-dispatcher-add-filters" title="mcd_dispatcher_add_filters ()">mcd_dispatcher_add_filters</a> (<a class="link" href="McdDispatcher.html" title="McdDispatcher">McdDispatcher</a> *dispatcher,
78
const <a class="link" href="libmissioncontrol-server-mcd-dispatcher-context.html#McdFilter" title="McdFilter">McdFilter</a> *filters);
81
<div class="refsect1" title="Object Hierarchy">
82
<a name="McdDispatcher.object-hierarchy"></a><h2>Object Hierarchy</h2>
83
<pre class="synopsis">
85
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
87
+----<a class="link" href="McdMission.html" title="McdMission">McdMission</a>
91
<div class="refsect1" title="Implemented Interfaces">
92
<a name="McdDispatcher.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
94
McdDispatcher implements
96
href="/usr/share/gtk-doc/html/telepathy-glib/telepathy-glib-svc-channel-dispatcher.html#TpSvcChannelDispatcher"
97
>TpSvcChannelDispatcher</a>, <a
98
href="/usr/share/gtk-doc/html/telepathy-glib/telepathy-glib-svc-channel-dispatcher.html#TpSvcChannelDispatcherInterfaceOperationList"
99
>TpSvcChannelDispatcherInterfaceOperationList</a> and <a
100
href="/usr/share/gtk-doc/html/telepathy-glib/telepathy-glib-svc-generic.html#TpSvcDBusProperties"
101
>TpSvcDBusProperties</a>.</p>
103
<div class="refsect1" title="Properties">
104
<a name="McdDispatcher.properties"></a><h2>Properties</h2>
105
<pre class="synopsis">
106
"<a class="link" href="McdDispatcher.html#McdDispatcher--dbus-daemon" title='The "dbus-daemon" property'>dbus-daemon</a>" <a
107
href="/usr/share/gtk-doc/html/telepathy-glib/telepathy-glib-dbus.html#TpDBusDaemon"
108
>TpDBusDaemon</a>* : Read / Write / Construct
109
"<a class="link" href="McdDispatcher.html#McdDispatcher--dispatch-operations" title='The "dispatch-operations" property'>dispatch-operations</a>" GPtrArray_GValueArray_DBusGObjectPath+GHashTable_gchararray+GValue___* : Read
110
"<a class="link" href="McdDispatcher.html#McdDispatcher--interfaces" title='The "interfaces" property'>interfaces</a>" <a
111
href="http://library.gnome.org/devel/gobject/unstable/gobject-Boxed-Types.html#GStrv"
113
"<a class="link" href="McdDispatcher.html#McdDispatcher--mcd-master" title='The "mcd-master" property'>mcd-master</a>" <a class="link" href="McdMaster.html" title="McdMaster">McdMaster</a>* : Read / Write / Construct
116
<div class="refsect1" title="Signals">
117
<a name="McdDispatcher.signals"></a><h2>Signals</h2>
118
<pre class="synopsis">
119
"<a class="link" href="McdDispatcher.html#McdDispatcher-channel-added" title='The "channel-added" signal'>channel-added</a>" : Run Last / Has Details
120
"<a class="link" href="McdDispatcher.html#McdDispatcher-channel-removed" title='The "channel-removed" signal'>channel-removed</a>" : Run Last / Has Details
121
"<a class="link" href="McdDispatcher.html#McdDispatcher-dispatch-completed" title='The "dispatch-completed" signal'>dispatch-completed</a>" : Run Last
122
"<a class="link" href="McdDispatcher.html#McdDispatcher-dispatch-failed" title='The "dispatch-failed" signal'>dispatch-failed</a>" : Run Last / Has Details
123
"<a class="link" href="McdDispatcher.html#McdDispatcher-dispatched" title='The "dispatched" signal'>dispatched</a>" : Run Last / Has Details
126
<div class="refsect1" title="Description">
127
<a name="McdDispatcher.description"></a><h2>Description</h2>
133
<div class="refsect1" title="Details">
134
<a name="McdDispatcher.details"></a><h2>Details</h2>
135
<div class="refsect2" title="McdDispatcher">
136
<a name="McdDispatcher-struct"></a><h3>McdDispatcher</h3>
137
<pre class="programlisting">typedef struct _McdDispatcher McdDispatcher;</pre>
142
<div class="refsect2" title="mcd_dispatcher_new ()">
143
<a name="mcd-dispatcher-new"></a><h3>mcd_dispatcher_new ()</h3>
144
<pre class="programlisting"><a class="link" href="McdDispatcher.html" title="McdDispatcher">McdDispatcher</a> * mcd_dispatcher_new (<a
145
href="/usr/share/gtk-doc/html/telepathy-glib/telepathy-glib-dbus.html#TpDBusDaemon"
146
>TpDBusDaemon</a> *dbus_daemon,
147
<a class="link" href="McdMaster.html" title="McdMaster">McdMaster</a> *master);</pre>
150
<div class="variablelist"><table border="0">
151
<col align="left" valign="top">
154
<td><p><span class="term"><em class="parameter"><code>dbus_daemon</code></em> :</span></p></td>
159
<td><p><span class="term"><em class="parameter"><code>master</code></em> :</span></p></td>
164
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
172
<div class="refsect2" title="mcd_dispatcher_get_channel_type_usage ()">
173
<a name="mcd-dispatcher-get-channel-type-usage"></a><h3>mcd_dispatcher_get_channel_type_usage ()</h3>
174
<pre class="programlisting"><a
175
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"
176
>gint</a> mcd_dispatcher_get_channel_type_usage
177
(<a class="link" href="McdDispatcher.html" title="McdDispatcher">McdDispatcher</a> *dispatcher,
179
href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"
180
>GQuark</a> chan_type_quark);</pre>
183
<div class="variablelist"><table border="0">
184
<col align="left" valign="top">
187
<td><p><span class="term"><em class="parameter"><code>dispatcher</code></em> :</span></p></td>
192
<td><p><span class="term"><em class="parameter"><code>chan_type_quark</code></em> :</span></p></td>
197
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
205
<div class="refsect2" title="mcd_dispatcher_add_filter ()">
206
<a name="mcd-dispatcher-add-filter"></a><h3>mcd_dispatcher_add_filter ()</h3>
207
<pre class="programlisting">void mcd_dispatcher_add_filter (<a class="link" href="McdDispatcher.html" title="McdDispatcher">McdDispatcher</a> *dispatcher,
208
<a class="link" href="libmissioncontrol-server-mcd-dispatcher-context.html#McdFilterFunc" title="McdFilterFunc ()">McdFilterFunc</a> filter,
210
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"
213
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
214
>gpointer</a> user_data);</pre>
216
Register a filter into the dispatcher chain: <em class="parameter"><code>filter</code></em> will be invoked
217
whenever channels need to be dispatched.</p>
220
<div class="variablelist"><table border="0">
221
<col align="left" valign="top">
224
<td><p><span class="term"><em class="parameter"><code>dispatcher</code></em> :</span></p></td>
225
<td> The <a class="link" href="McdDispatcher.html" title="McdDispatcher"><span class="type">McdDispatcher</span></a>.
229
<td><p><span class="term"><em class="parameter"><code>filter</code></em> :</span></p></td>
230
<td> the filter function to be registered.
234
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
235
<td> The priority of the filter.
239
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
240
<td> user data to be passed to <em class="parameter"><code>filter</code></em> on invocation.
247
<div class="refsect2" title="mcd_dispatcher_add_filters ()">
248
<a name="mcd-dispatcher-add-filters"></a><h3>mcd_dispatcher_add_filters ()</h3>
249
<pre class="programlisting">void mcd_dispatcher_add_filters (<a class="link" href="McdDispatcher.html" title="McdDispatcher">McdDispatcher</a> *dispatcher,
250
const <a class="link" href="libmissioncontrol-server-mcd-dispatcher-context.html#McdFilter" title="McdFilter">McdFilter</a> *filters);</pre>
252
Convenience function to add a batch of filters at once.</p>
255
<div class="variablelist"><table border="0">
256
<col align="left" valign="top">
259
<td><p><span class="term"><em class="parameter"><code>dispatcher</code></em> :</span></p></td>
260
<td> The <a class="link" href="McdDispatcher.html" title="McdDispatcher"><span class="type">McdDispatcher</span></a>.
264
<td><p><span class="term"><em class="parameter"><code>filters</code></em> :</span></p></td>
265
<td> a zero-terminated array of <a class="link" href="libmissioncontrol-server-mcd-dispatcher-context.html#McdFilter" title="McdFilter"><span class="type">McdFilter</span></a> elements.
272
<div class="refsect1" title="Property Details">
273
<a name="McdDispatcher.property-details"></a><h2>Property Details</h2>
274
<div class="refsect2" title='The "dbus-daemon" property'>
275
<a name="McdDispatcher--dbus-daemon"></a><h3>The <code class="literal">"dbus-daemon"</code> property</h3>
276
<pre class="programlisting"> "dbus-daemon" <a
277
href="/usr/share/gtk-doc/html/telepathy-glib/telepathy-glib-dbus.html#TpDBusDaemon"
278
>TpDBusDaemon</a>* : Read / Write / Construct</pre>
282
<div class="refsect2" title='The "dispatch-operations" property'>
283
<a name="McdDispatcher--dispatch-operations"></a><h3>The <code class="literal">"dispatch-operations"</code> property</h3>
284
<pre class="programlisting"> "dispatch-operations" GPtrArray_GValueArray_DBusGObjectPath+GHashTable_gchararray+GValue___* : Read</pre>
285
<p>A dbus-glib a(oa{sv}).</p>
288
<div class="refsect2" title='The "interfaces" property'>
289
<a name="McdDispatcher--interfaces"></a><h3>The <code class="literal">"interfaces"</code> property</h3>
290
<pre class="programlisting"> "interfaces" <a
291
href="http://library.gnome.org/devel/gobject/unstable/gobject-Boxed-Types.html#GStrv"
292
>GStrv</a>* : Read</pre>
296
<div class="refsect2" title='The "mcd-master" property'>
297
<a name="McdDispatcher--mcd-master"></a><h3>The <code class="literal">"mcd-master"</code> property</h3>
298
<pre class="programlisting"> "mcd-master" <a class="link" href="McdMaster.html" title="McdMaster">McdMaster</a>* : Read / Write / Construct</pre>
302
<div class="refsect1" title="Signal Details">
303
<a name="McdDispatcher.signal-details"></a><h2>Signal Details</h2>
304
<div class="refsect2" title='The "channel-added" signal'>
305
<a name="McdDispatcher-channel-added"></a><h3>The <code class="literal">"channel-added"</code> signal</h3>
306
<pre class="programlisting">void user_function (<a class="link" href="McdDispatcher.html" title="McdDispatcher">McdDispatcher</a> *mcddispatcher,
307
<a class="link" href="McdChannel.html" title="McdChannel">McdChannel</a> *arg1,
309
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
310
>gpointer</a> user_data) : Run Last / Has Details</pre>
313
<div class="variablelist"><table border="0">
314
<col align="left" valign="top">
317
<td><p><span class="term"><em class="parameter"><code>mcddispatcher</code></em> :</span></p></td>
318
<td>the object which received the signal.
322
<td><p><span class="term"><em class="parameter"><code>arg1</code></em> :</span></p></td>
327
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
328
<td>user data set when the signal handler was connected.</td>
334
<div class="refsect2" title='The "channel-removed" signal'>
335
<a name="McdDispatcher-channel-removed"></a><h3>The <code class="literal">"channel-removed"</code> signal</h3>
336
<pre class="programlisting">void user_function (<a class="link" href="McdDispatcher.html" title="McdDispatcher">McdDispatcher</a> *mcddispatcher,
337
<a class="link" href="McdChannel.html" title="McdChannel">McdChannel</a> *arg1,
339
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
340
>gpointer</a> user_data) : Run Last / Has Details</pre>
343
<div class="variablelist"><table border="0">
344
<col align="left" valign="top">
347
<td><p><span class="term"><em class="parameter"><code>mcddispatcher</code></em> :</span></p></td>
348
<td>the object which received the signal.
352
<td><p><span class="term"><em class="parameter"><code>arg1</code></em> :</span></p></td>
357
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
358
<td>user data set when the signal handler was connected.</td>
364
<div class="refsect2" title='The "dispatch-completed" signal'>
365
<a name="McdDispatcher-dispatch-completed"></a><h3>The <code class="literal">"dispatch-completed"</code> signal</h3>
366
<pre class="programlisting">void user_function (<a class="link" href="McdDispatcher.html" title="McdDispatcher">McdDispatcher</a> *dispatcher,
368
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
369
>gpointer</a> context,
371
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
372
>gpointer</a> user_data) : Run Last</pre>
374
This signal is emitted when a dispatch operation has terminated. One can
375
inspect <em class="parameter"><code>context</code></em> to get the status of the channels.
376
After this signal returns, <em class="parameter"><code>context</code></em> is no longer valid.</p>
379
<div class="variablelist"><table border="0">
380
<col align="left" valign="top">
383
<td><p><span class="term"><em class="parameter"><code>dispatcher</code></em> :</span></p></td>
384
<td> the <a class="link" href="McdDispatcher.html" title="McdDispatcher"><span class="type">McdDispatcher</span></a>.
388
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
389
<td> a <a class="link" href="libmissioncontrol-server-mcd-dispatcher-context.html#McdDispatcherContext" title="McdDispatcherContext"><span class="type">McdDispatcherContext</span></a>.
393
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
394
<td>user data set when the signal handler was connected.</td>
400
<div class="refsect2" title='The "dispatch-failed" signal'>
401
<a name="McdDispatcher-dispatch-failed"></a><h3>The <code class="literal">"dispatch-failed"</code> signal</h3>
402
<pre class="programlisting">void user_function (<a class="link" href="McdDispatcher.html" title="McdDispatcher">McdDispatcher</a> *mcddispatcher,
403
<a class="link" href="McdChannel.html" title="McdChannel">McdChannel</a> *arg1,
405
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
408
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
409
>gpointer</a> user_data) : Run Last / Has Details</pre>
412
<div class="variablelist"><table border="0">
413
<col align="left" valign="top">
416
<td><p><span class="term"><em class="parameter"><code>mcddispatcher</code></em> :</span></p></td>
417
<td>the object which received the signal.
421
<td><p><span class="term"><em class="parameter"><code>arg1</code></em> :</span></p></td>
426
<td><p><span class="term"><em class="parameter"><code>arg2</code></em> :</span></p></td>
431
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
432
<td>user data set when the signal handler was connected.</td>
438
<div class="refsect2" title='The "dispatched" signal'>
439
<a name="McdDispatcher-dispatched"></a><h3>The <code class="literal">"dispatched"</code> signal</h3>
440
<pre class="programlisting">void user_function (<a class="link" href="McdDispatcher.html" title="McdDispatcher">McdDispatcher</a> *mcddispatcher,
441
<a class="link" href="McdChannel.html" title="McdChannel">McdChannel</a> *arg1,
443
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
444
>gpointer</a> user_data) : Run Last / Has Details</pre>
447
<div class="variablelist"><table border="0">
448
<col align="left" valign="top">
451
<td><p><span class="term"><em class="parameter"><code>mcddispatcher</code></em> :</span></p></td>
452
<td>the object which received the signal.
456
<td><p><span class="term"><em class="parameter"><code>arg1</code></em> :</span></p></td>
461
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
462
<td>user data set when the signal handler was connected.</td>
471
Generated by GTK-Doc V1.11</div>