~ubuntu-branches/ubuntu/wily/telepathy-glib/wily

« back to all changes in this revision

Viewing changes to docs/reference/html/telepathy-glib-connection-caps.html

Tags: upstream-0.9.0
Import upstream version 0.9.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
<html>
3
3
<head>
4
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
 
<title>Connection Capabilities interface</title>
 
5
<title>Connection ContactCapabilities and Capabilities interfaces</title>
6
6
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7
7
<link rel="home" href="index.html" title="telepathy-glib Reference Manual">
8
8
<link rel="up" href="ch-client.html" title="Client-side proxies">
33
33
                <a href="#telepathy-glib-connection-caps.description" class="shortcut">Description</a>
34
34
</td></tr>
35
35
</table>
36
 
<div class="refentry" title="Connection Capabilities interface">
 
36
<div class="refentry" title="Connection ContactCapabilities and Capabilities interfaces">
37
37
<a name="telepathy-glib-connection-caps"></a><div class="titlepage"></div>
38
38
<div class="refnamediv"><table width="100%"><tr>
39
39
<td valign="top">
40
 
<h2><span class="refentrytitle"><a name="telepathy-glib-connection-caps.top_of_page"></a>Connection Capabilities interface</span></h2>
41
 
<p>Connection Capabilities interface — client-side wrappers for the Capabilities interface</p>
 
40
<h2><span class="refentrytitle"><a name="telepathy-glib-connection-caps.top_of_page"></a>Connection ContactCapabilities and Capabilities interfaces</span></h2>
 
41
<p>Connection ContactCapabilities and Capabilities interfaces — client-side wrappers for the capabilities interfaces</p>
42
42
</td>
43
43
<td valign="top" align="right"></td>
44
44
</tr></table></div>
48
48
 
49
49
#include &lt;telepathy-glib/connection.h&gt;
50
50
 
51
 
<a
52
 
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
53
 
>gboolean</a>            <a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-capabilities-run-advertise-capabilities" title="tp_cli_connection_interface_capabilities_run_advertise_capabilities ()">tp_cli_connection_interface_capabilities_run_advertise_capabilities</a>
 
51
void                (<a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-contact-capabilities-callback-for-get-contact-capabilities" title="tp_cli_connection_interface_contact_capabilities_callback_for_get_contact_capabilities ()">*tp_cli_connection_interface_contact_capabilities_callback_for_get_contact_capabilities</a>)
54
52
                                                        (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy,
55
53
                                                         <a
56
 
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"
57
 
>gint</a> timeout_ms,
58
 
                                                         const <a
59
 
href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"
60
 
>GPtrArray</a> *in_Add,
61
 
                                                         const <a
62
 
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
63
 
>gchar</a> **in_Remove,
64
 
                                                         <a
65
 
href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"
66
 
>GPtrArray</a> **out_Self_Capabilities,
67
 
                                                         <a
 
54
href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"
 
55
>GHashTable</a> *out_Contact_Capabilities,
 
56
                                                         const <a
68
57
href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"
69
 
>GError</a> **error,
70
 
                                                         <a
71
 
href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainLoop"
72
 
>GMainLoop</a> **loop);
73
 
<a
74
 
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
75
 
>gboolean</a>            <a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-capabilities-run-get-capabilities" title="tp_cli_connection_interface_capabilities_run_get_capabilities ()">tp_cli_connection_interface_capabilities_run_get_capabilities</a>
 
58
>GError</a> *error,
 
59
                                                         <a
 
60
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
 
61
>gpointer</a> user_data,
 
62
                                                         <a
 
63
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
 
64
>GObject</a> *weak_object);
 
65
<a class="link" href="telepathy-glib-proxy.html#TpProxyPendingCall" title="TpProxyPendingCall">TpProxyPendingCall</a> * <a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-contact-capabilities-call-get-contact-capabilities" title="tp_cli_connection_interface_contact_capabilities_call_get_contact_capabilities ()">tp_cli_connection_interface_contact_capabilities_call_get_contact_capabilities</a>
76
66
                                                        (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy,
77
67
                                                         <a
78
68
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"
79
69
>gint</a> timeout_ms,
80
70
                                                         const <a
81
71
href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"
82
 
>GArray</a> *in_Handles,
83
 
                                                         <a
 
72
>GArray</a> *in_handles,
 
73
                                                         <a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-contact-capabilities-callback-for-get-contact-capabilities" title="tp_cli_connection_interface_contact_capabilities_callback_for_get_contact_capabilities ()">tp_cli_connection_interface_contact_capabilities_callback_for_get_contact_capabilities</a> callback,
 
74
                                                         <a
 
75
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
 
76
>gpointer</a> user_data,
 
77
                                                         <a
 
78
href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"
 
79
>GDestroyNotify</a> destroy,
 
80
                                                         <a
 
81
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
 
82
>GObject</a> *weak_object);
 
83
void                (<a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-contact-capabilities-callback-for-update-capabilities" title="tp_cli_connection_interface_contact_capabilities_callback_for_update_capabilities ()">*tp_cli_connection_interface_contact_capabilities_callback_for_update_capabilities</a>)
 
84
                                                        (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy,
 
85
                                                         const <a
 
86
href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"
 
87
>GError</a> *error,
 
88
                                                         <a
 
89
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
 
90
>gpointer</a> user_data,
 
91
                                                         <a
 
92
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
 
93
>GObject</a> *weak_object);
 
94
<a class="link" href="telepathy-glib-proxy.html#TpProxyPendingCall" title="TpProxyPendingCall">TpProxyPendingCall</a> * <a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-contact-capabilities-call-update-capabilities" title="tp_cli_connection_interface_contact_capabilities_call_update_capabilities ()">tp_cli_connection_interface_contact_capabilities_call_update_capabilities</a>
 
95
                                                        (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy,
 
96
                                                         <a
 
97
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"
 
98
>gint</a> timeout_ms,
 
99
                                                         const <a
84
100
href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"
85
 
>GPtrArray</a> **out_Contact_Capabilities,
 
101
>GPtrArray</a> *in_Handler_Capabilities,
 
102
                                                         <a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-contact-capabilities-callback-for-update-capabilities" title="tp_cli_connection_interface_contact_capabilities_callback_for_update_capabilities ()">tp_cli_connection_interface_contact_capabilities_callback_for_update_capabilities</a> callback,
 
103
                                                         <a
 
104
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
 
105
>gpointer</a> user_data,
 
106
                                                         <a
 
107
href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"
 
108
>GDestroyNotify</a> destroy,
 
109
                                                         <a
 
110
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
 
111
>GObject</a> *weak_object);
 
112
void                (<a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-contact-capabilities-signal-callback-contact-capabilities-changed" title="tp_cli_connection_interface_contact_capabilities_signal_callback_contact_capabilities_changed ()">*tp_cli_connection_interface_contact_capabilities_signal_callback_contact_capabilities_changed</a>)
 
113
                                                        (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy,
 
114
                                                         <a
 
115
href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"
 
116
>GHashTable</a> *arg_caps,
 
117
                                                         <a
 
118
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
 
119
>gpointer</a> user_data,
 
120
                                                         <a
 
121
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
 
122
>GObject</a> *weak_object);
 
123
<a class="link" href="telepathy-glib-proxy.html#TpProxySignalConnection" title="TpProxySignalConnection">TpProxySignalConnection</a> * <a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-contact-capabilities-connect-to-contact-capabilities-changed" title="tp_cli_connection_interface_contact_capabilities_connect_to_contact_capabilities_changed ()">tp_cli_connection_interface_contact_capabilities_connect_to_contact_capabilities_changed</a>
 
124
                                                        (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy,
 
125
                                                         <a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-contact-capabilities-signal-callback-contact-capabilities-changed" title="tp_cli_connection_interface_contact_capabilities_signal_callback_contact_capabilities_changed ()">tp_cli_connection_interface_contact_capabilities_signal_callback_contact_capabilities_changed</a> callback,
 
126
                                                         <a
 
127
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
 
128
>gpointer</a> user_data,
 
129
                                                         <a
 
130
href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"
 
131
>GDestroyNotify</a> destroy,
 
132
                                                         <a
 
133
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
 
134
>GObject</a> *weak_object,
86
135
                                                         <a
87
136
href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"
88
 
>GError</a> **error,
89
 
                                                         <a
90
 
href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainLoop"
91
 
>GMainLoop</a> **loop);
 
137
>GError</a> **error);
 
138
 
 
139
 
92
140
<a class="link" href="telepathy-glib-proxy.html#TpProxyPendingCall" title="TpProxyPendingCall">TpProxyPendingCall</a> * <a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-capabilities-call-advertise-capabilities" title="tp_cli_connection_interface_capabilities_call_advertise_capabilities ()">tp_cli_connection_interface_capabilities_call_advertise_capabilities</a>
93
141
                                                        (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy,
94
142
                                                         <a
188
236
<a name="telepathy-glib-connection-caps.description"></a><h2>Description</h2>
189
237
<p>
190
238
Some instant messaging protocols allow discovery of the capabilities of
191
 
a user's client. In Telepathy, this is represented by the Capabilities
192
 
interface, which lets applications advertise extra capabilities for the
193
 
local user, and query the interfaces supported by their contacts.
 
239
a user's client. In Telepathy, this is represented by the
 
240
ContactCapabilities interface, which lets applications advertise extra
 
241
capabilities for the local user, and query the interfaces supported by
 
242
their contacts.
 
243
</p>
 
244
<p>
 
245
The Capabilities interface is an older API with similar functionality.
194
246
</p>
195
247
<p>
196
248
This section documents the auto-generated C wrappers for the
197
 
Capabilities interface, used with <a class="link" href="telepathy-glib-connection.html#TpConnection"><span class="type">TpConnection</span></a> objects.</p>
 
249
ContactCapabilities and Capabilities interfaces, used with
 
250
<a class="link" href="telepathy-glib-connection.html#TpConnection"><span class="type">TpConnection</span></a> objects.</p>
198
251
<p>
199
252
</p>
200
253
</div>
201
254
<div class="refsect1" title="Details">
202
255
<a name="telepathy-glib-connection-caps.details"></a><h2>Details</h2>
203
 
<div class="refsect2" title="tp_cli_connection_interface_capabilities_run_advertise_capabilities ()">
204
 
<a name="tp-cli-connection-interface-capabilities-run-advertise-capabilities"></a><h3>tp_cli_connection_interface_capabilities_run_advertise_capabilities ()</h3>
205
 
<pre class="programlisting"><a
206
 
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
207
 
>gboolean</a>            tp_cli_connection_interface_capabilities_run_advertise_capabilities
 
256
<div class="refsect2" title="tp_cli_connection_interface_contact_capabilities_callback_for_get_contact_capabilities ()">
 
257
<a name="tp-cli-connection-interface-contact-capabilities-callback-for-get-contact-capabilities"></a><h3>tp_cli_connection_interface_contact_capabilities_callback_for_get_contact_capabilities ()</h3>
 
258
<pre class="programlisting">void                (*tp_cli_connection_interface_contact_capabilities_callback_for_get_contact_capabilities)
208
259
                                                        (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy,
209
260
                                                         <a
210
 
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"
211
 
>gint</a> timeout_ms,
212
 
                                                         const <a
213
 
href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"
214
 
>GPtrArray</a> *in_Add,
215
 
                                                         const <a
216
 
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
217
 
>gchar</a> **in_Remove,
218
 
                                                         <a
219
 
href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"
220
 
>GPtrArray</a> **out_Self_Capabilities,
221
 
                                                         <a
 
261
href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"
 
262
>GHashTable</a> *out_Contact_Capabilities,
 
263
                                                         const <a
222
264
href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"
223
 
>GError</a> **error,
224
 
                                                         <a
225
 
href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainLoop"
226
 
>GMainLoop</a> **loop);</pre>
227
 
<p>
228
 
Call the method AdvertiseCapabilities and run the main loop
229
 
until it returns. Before calling this method, you must
230
 
add a reference to any borrowed objects you need to keep,
231
 
and generally ensure that everything is in a consistent
232
 
state.
233
 
</p>
234
 
<p>
235
 
&lt;tp:docstring xmlns="http://www.w3.org/1999/xhtml"&gt;         &lt;p&gt;Used by user interfaces to indicate which channel types they are able         to handle on this connection. Because these may be provided by         different client processes, this method accepts channel types to add         and remove from the set already advertised on this connection. The type         of advertised capabilities (create versus invite) is protocol-dependent         and hence cannot be set by the this method. In the case of a client         adding an already advertised channel type but with new channel type         specific flags, the connection manager should simply add the new flags         to the set of advertised capabilities.&lt;/p&gt;          &lt;p&gt;Upon a successful invocation of this method, the         &lt;tp:member-ref&gt;CapabilitiesChanged&lt;/tp:member-ref&gt;         signal will be emitted for the user's own handle ( &lt;tp:dbus-ref namespace="org.freedesktop.Telepathy"&gt;Connection.GetSelfHandle&lt;/tp:dbus-ref&gt;)         by the connection manager to indicate the changes         that have been made.  This signal should also be monitored to ensure         that the set is kept accurate - for example, a client may remove         capabilities or type specific capability flags when it exits         which are still provided by another client.&lt;/p&gt;          &lt;p&gt;On connections managed by the &lt;tp:dbus-ref namespace="org.freedesktop.Telepathy"&gt;ChannelDispatcher&lt;/tp:dbus-ref&gt;,           this method SHOULD NOT be used by clients other than the           ChannelDispatcher itself.&lt;/p&gt;</p>
 
265
>GError</a> *error,
 
266
                                                         <a
 
267
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
 
268
>gpointer</a> user_data,
 
269
                                                         <a
 
270
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
 
271
>GObject</a> *weak_object);</pre>
 
272
<p>
 
273
Signature of the callback called when a GetContactCapabilities method call
 
274
succeeds or fails.</p>
236
275
<p>
237
276
</p>
238
277
<div class="variablelist"><table border="0">
240
279
<tbody>
241
280
<tr>
242
281
<td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td>
243
 
<td> A <a class="link" href="telepathy-glib-connection.html#TpConnection"><span class="type">TpConnection</span></a> or subclass
244
 
</td>
245
 
</tr>
246
 
<tr>
247
 
<td><p><span class="term"><em class="parameter"><code>timeout_ms</code></em> :</span></p></td>
248
 
<td> Timeout in milliseconds, or -1 for default
249
 
</td>
250
 
</tr>
251
 
<tr>
252
 
<td><p><span class="term"><em class="parameter"><code>in_Add</code></em> :</span></p></td>
253
 
<td> Used to pass an 'in' argument: &lt;tp:docstring xmlns="http://www.w3.org/1999/xhtml"&gt;           An array of structures containing:           &lt;ul&gt;             &lt;li&gt;a string channel type&lt;/li&gt;             &lt;li&gt;a bitwise OR of type specific capability flags&lt;/li&gt;           &lt;/ul&gt;
254
 
</td>
255
 
</tr>
256
 
<tr>
257
 
<td><p><span class="term"><em class="parameter"><code>in_Remove</code></em> :</span></p></td>
258
 
<td> Used to pass an 'in' argument: An array of D-Bus interface names of channel types to remove
259
 
</td>
260
 
</tr>
261
 
<tr>
262
 
<td><p><span class="term"><em class="parameter"><code>out_Self_Capabilities</code></em> :</span></p></td>
263
 
<td> Used to return an 'out' argument if <a
264
 
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE--CAPS"
265
 
><code class="literal">TRUE</code></a> is returned: An array of structures describing the current capabilities containing:           &lt;ul&gt;             &lt;li&gt;a string channel type&lt;/li&gt;             &lt;li&gt;a bitwise OR of type specific capability flags&lt;/li&gt;           &lt;/ul&gt;
 
282
<td> the proxy on which the call was made
 
283
</td>
 
284
</tr>
 
285
<tr>
 
286
<td><p><span class="term"><em class="parameter"><code>out_Contact_Capabilities</code></em> :</span></p></td>
 
287
<td> Used to return an 'out' argument if <em class="parameter"><code>error</code></em> is <a
 
288
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
289
><code class="literal">NULL</code></a>: &lt;tp:docstring xmlns="http://www.w3.org/1999/xhtml"&gt;           An array of structures containing:           &lt;ul&gt;             &lt;li&gt;a dictionary mapping the channel properties to their values.&lt;/li&gt;             &lt;li&gt;an array of additional allowed properties&lt;/li&gt;           &lt;/ul&gt;
266
290
</td>
267
291
</tr>
268
292
<tr>
269
293
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
270
 
<td> If not <a
271
 
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
272
 
><code class="literal">NULL</code></a>, used to return errors if <a
273
 
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE--CAPS"
274
 
><code class="literal">FALSE</code></a> 
275
 
 is returned
276
 
</td>
277
 
</tr>
278
 
<tr>
279
 
<td><p><span class="term"><em class="parameter"><code>loop</code></em> :</span></p></td>
280
 
<td> If not <a
281
 
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
282
 
><code class="literal">NULL</code></a>, set before re-entering 
283
 
 the main loop, to point to a <a
284
 
href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainLoop"
285
 
><span class="type">GMainLoop</span></a> 
286
 
 which can be used to cancel this call with 
287
 
 <a
288
 
href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-main-loop-quit"
289
 
><code class="function">g_main_loop_quit()</code></a>, causing a return of 
290
 
 <a
291
 
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE--CAPS"
292
 
><code class="literal">FALSE</code></a> with <em class="parameter"><code>error</code></em> set to <a class="link" href="telepathy-glib-proxy.html#TP-DBUS-ERROR-CANCELLED--CAPS"><code class="literal">TP_DBUS_ERROR_CANCELLED</code></a>
293
 
</td>
294
 
</tr>
295
 
<tr>
296
 
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
297
 
<td> TRUE on success, FALSE and sets <em class="parameter"><code>error</code></em> on error
 
294
<td> <a
 
295
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
296
><code class="literal">NULL</code></a> on success, or an error on failure
 
297
</td>
 
298
</tr>
 
299
<tr>
 
300
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 
301
<td> user-supplied data
 
302
</td>
 
303
</tr>
 
304
<tr>
 
305
<td><p><span class="term"><em class="parameter"><code>weak_object</code></em> :</span></p></td>
 
306
<td> user-supplied object
298
307
</td>
299
308
</tr>
300
309
</tbody>
301
310
</table></div>
302
311
</div>
303
312
<hr>
304
 
<div class="refsect2" title="tp_cli_connection_interface_capabilities_run_get_capabilities ()">
305
 
<a name="tp-cli-connection-interface-capabilities-run-get-capabilities"></a><h3>tp_cli_connection_interface_capabilities_run_get_capabilities ()</h3>
306
 
<pre class="programlisting"><a
307
 
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
308
 
>gboolean</a>            tp_cli_connection_interface_capabilities_run_get_capabilities
 
313
<div class="refsect2" title="tp_cli_connection_interface_contact_capabilities_call_get_contact_capabilities ()">
 
314
<a name="tp-cli-connection-interface-contact-capabilities-call-get-contact-capabilities"></a><h3>tp_cli_connection_interface_contact_capabilities_call_get_contact_capabilities ()</h3>
 
315
<pre class="programlisting"><a class="link" href="telepathy-glib-proxy.html#TpProxyPendingCall" title="TpProxyPendingCall">TpProxyPendingCall</a> * tp_cli_connection_interface_contact_capabilities_call_get_contact_capabilities
309
316
                                                        (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy,
310
317
                                                         <a
311
318
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"
312
319
>gint</a> timeout_ms,
313
320
                                                         const <a
314
321
href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"
315
 
>GArray</a> *in_Handles,
316
 
                                                         <a
 
322
>GArray</a> *in_handles,
 
323
                                                         <a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-contact-capabilities-callback-for-get-contact-capabilities" title="tp_cli_connection_interface_contact_capabilities_callback_for_get_contact_capabilities ()">tp_cli_connection_interface_contact_capabilities_callback_for_get_contact_capabilities</a> callback,
 
324
                                                         <a
 
325
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
 
326
>gpointer</a> user_data,
 
327
                                                         <a
 
328
href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"
 
329
>GDestroyNotify</a> destroy,
 
330
                                                         <a
 
331
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
 
332
>GObject</a> *weak_object);</pre>
 
333
<p>
 
334
Start a GetContactCapabilities method call.
 
335
</p>
 
336
<p>
 
337
Returns an array of enhanced capabilities for the given contact handles.</p>
 
338
<p>
 
339
</p>
 
340
<div class="variablelist"><table border="0">
 
341
<col align="left" valign="top">
 
342
<tbody>
 
343
<tr>
 
344
<td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td>
 
345
<td> the <a class="link" href="telepathy-glib-proxy.html#TpProxy"><span class="type">TpProxy</span></a>
 
346
</td>
 
347
</tr>
 
348
<tr>
 
349
<td><p><span class="term"><em class="parameter"><code>timeout_ms</code></em> :</span></p></td>
 
350
<td> the timeout in milliseconds, or -1 to use the
 
351
  default
 
352
</td>
 
353
</tr>
 
354
<tr>
 
355
<td><p><span class="term"><em class="parameter"><code>in_handles</code></em> :</span></p></td>
 
356
<td> Used to pass an 'in' argument: &lt;tp:docstring xmlns="http://www.w3.org/1999/xhtml"&gt;           &lt;p&gt;An array of contact handles for this connection.&lt;/p&gt;            &lt;p&gt;The handle zero MUST NOT be included in the request.&lt;/p&gt;
 
357
</td>
 
358
</tr>
 
359
<tr>
 
360
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
361
<td> called when the method call succeeds or fails;
 
362
  may be <a
 
363
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
364
><code class="literal">NULL</code></a> to make a "fire and forget" call with no 
 
365
  reply tracking
 
366
</td>
 
367
</tr>
 
368
<tr>
 
369
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 
370
<td> user-supplied data passed to the callback;
 
371
  must be <a
 
372
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
373
><code class="literal">NULL</code></a> if <em class="parameter"><code>callback</code></em> is <a
 
374
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
375
><code class="literal">NULL</code></a>
 
376
</td>
 
377
</tr>
 
378
<tr>
 
379
<td><p><span class="term"><em class="parameter"><code>destroy</code></em> :</span></p></td>
 
380
<td> called with the user_data as argument, after the
 
381
  call has succeeded, failed or been cancelled;
 
382
  must be <a
 
383
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
384
><code class="literal">NULL</code></a> if <em class="parameter"><code>callback</code></em> is <a
 
385
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
386
><code class="literal">NULL</code></a>
 
387
</td>
 
388
</tr>
 
389
<tr>
 
390
<td><p><span class="term"><em class="parameter"><code>weak_object</code></em> :</span></p></td>
 
391
<td> If not <a
 
392
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
393
><code class="literal">NULL</code></a>, a <a
 
394
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
 
395
><span class="type">GObject</span></a> which will be 
 
396
  weakly referenced; if it is destroyed, this call 
 
397
  will automatically be cancelled. Must be <a
 
398
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
399
><code class="literal">NULL</code></a> if 
 
400
  <em class="parameter"><code>callback</code></em> is <a
 
401
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
402
><code class="literal">NULL</code></a>
 
403
</td>
 
404
</tr>
 
405
<tr>
 
406
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
407
<td> a <a class="link" href="telepathy-glib-proxy.html#TpProxyPendingCall" title="TpProxyPendingCall"><span class="type">TpProxyPendingCall</span></a> representing the call in
 
408
 progress. It is borrowed from the object, and will become
 
409
 invalid when the callback is called, the call is
 
410
 cancelled or the <a class="link" href="telepathy-glib-proxy.html#TpProxy"><span class="type">TpProxy</span></a> becomes invalid.
 
411
</td>
 
412
</tr>
 
413
</tbody>
 
414
</table></div>
 
415
</div>
 
416
<hr>
 
417
<div class="refsect2" title="tp_cli_connection_interface_contact_capabilities_callback_for_update_capabilities ()">
 
418
<a name="tp-cli-connection-interface-contact-capabilities-callback-for-update-capabilities"></a><h3>tp_cli_connection_interface_contact_capabilities_callback_for_update_capabilities ()</h3>
 
419
<pre class="programlisting">void                (*tp_cli_connection_interface_contact_capabilities_callback_for_update_capabilities)
 
420
                                                        (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy,
 
421
                                                         const <a
 
422
href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"
 
423
>GError</a> *error,
 
424
                                                         <a
 
425
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
 
426
>gpointer</a> user_data,
 
427
                                                         <a
 
428
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
 
429
>GObject</a> *weak_object);</pre>
 
430
<p>
 
431
Signature of the callback called when a UpdateCapabilities method call
 
432
succeeds or fails.</p>
 
433
<p>
 
434
</p>
 
435
<div class="variablelist"><table border="0">
 
436
<col align="left" valign="top">
 
437
<tbody>
 
438
<tr>
 
439
<td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td>
 
440
<td> the proxy on which the call was made
 
441
</td>
 
442
</tr>
 
443
<tr>
 
444
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
 
445
<td> <a
 
446
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
447
><code class="literal">NULL</code></a> on success, or an error on failure
 
448
</td>
 
449
</tr>
 
450
<tr>
 
451
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 
452
<td> user-supplied data
 
453
</td>
 
454
</tr>
 
455
<tr>
 
456
<td><p><span class="term"><em class="parameter"><code>weak_object</code></em> :</span></p></td>
 
457
<td> user-supplied object
 
458
</td>
 
459
</tr>
 
460
</tbody>
 
461
</table></div>
 
462
</div>
 
463
<hr>
 
464
<div class="refsect2" title="tp_cli_connection_interface_contact_capabilities_call_update_capabilities ()">
 
465
<a name="tp-cli-connection-interface-contact-capabilities-call-update-capabilities"></a><h3>tp_cli_connection_interface_contact_capabilities_call_update_capabilities ()</h3>
 
466
<pre class="programlisting"><a class="link" href="telepathy-glib-proxy.html#TpProxyPendingCall" title="TpProxyPendingCall">TpProxyPendingCall</a> * tp_cli_connection_interface_contact_capabilities_call_update_capabilities
 
467
                                                        (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy,
 
468
                                                         <a
 
469
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"
 
470
>gint</a> timeout_ms,
 
471
                                                         const <a
317
472
href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"
318
 
>GPtrArray</a> **out_Contact_Capabilities,
 
473
>GPtrArray</a> *in_Handler_Capabilities,
 
474
                                                         <a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-contact-capabilities-callback-for-update-capabilities" title="tp_cli_connection_interface_contact_capabilities_callback_for_update_capabilities ()">tp_cli_connection_interface_contact_capabilities_callback_for_update_capabilities</a> callback,
 
475
                                                         <a
 
476
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
 
477
>gpointer</a> user_data,
 
478
                                                         <a
 
479
href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"
 
480
>GDestroyNotify</a> destroy,
 
481
                                                         <a
 
482
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
 
483
>GObject</a> *weak_object);</pre>
 
484
<p>
 
485
Start a UpdateCapabilities method call.
 
486
</p>
 
487
<p>
 
488
&lt;tp:docstring xmlns="http://www.w3.org/1999/xhtml"&gt;         &lt;p&gt;Alter the connection's advertised capabilities to include           the intersection of the given clients' capabilities with what the           connection manager is able to implement.&lt;/p&gt;          &lt;p&gt;On connections managed by the ChannelDispatcher, processes other           than the ChannelDispatcher SHOULD NOT call this method, and the           ChannelDispatcher SHOULD use this method to advertise the           capabilities of all the registered &lt;tp:dbus-ref namespace="org.freedesktop.Telepathy"&gt;Client.Handler&lt;/tp:dbus-ref&gt;           implementations.On connections not managed by the ChannelDispatcher,           clients MAY use this method directly, to indicate the channels they           will handle and the extra capabilities they have.&lt;/p&gt;          &lt;p&gt;Upon a successful invocation of this method, the connection manager           will only emit the           &lt;tp:member-ref&gt;ContactCapabilitiesChanged&lt;/tp:member-ref&gt; signal           for the user's &lt;tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection"&gt;SelfHandle&lt;/tp:dbus-ref&gt;           if, in the underlying protocol, the new capabilities are distinct           from the previous state.&lt;/p&gt;          &lt;tp:rationale&gt;           &lt;p&gt;The connection manager will essentially intersect the provided             capabilities and the channel classes it implements. Therefore,             certain properties which are never fixed for a channel class             (such as the target handle, or the Parameters property of a tube             channel) will almost certainly not be advertised.&lt;/p&gt;         &lt;/tp:rationale&gt;          &lt;p&gt;This method MAY be called on a newly-created connection while it           is still in the DISCONNECTED state, to request that when the           connection connects, it will do so with the appropriate           capabilities. Doing so MUST NOT fail.&lt;/p&gt;</p>
 
489
<p>
 
490
</p>
 
491
<div class="variablelist"><table border="0">
 
492
<col align="left" valign="top">
 
493
<tbody>
 
494
<tr>
 
495
<td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td>
 
496
<td> the <a class="link" href="telepathy-glib-proxy.html#TpProxy"><span class="type">TpProxy</span></a>
 
497
</td>
 
498
</tr>
 
499
<tr>
 
500
<td><p><span class="term"><em class="parameter"><code>timeout_ms</code></em> :</span></p></td>
 
501
<td> the timeout in milliseconds, or -1 to use the
 
502
  default
 
503
</td>
 
504
</tr>
 
505
<tr>
 
506
<td><p><span class="term"><em class="parameter"><code>in_Handler_Capabilities</code></em> :</span></p></td>
 
507
<td> Used to pass an 'in' argument: &lt;p&gt;The capabilities of one or more clients.&lt;/p&gt;            &lt;p&gt;For each client in the given list, any capabilities previously             advertised for the same client name are discarded, then replaced by             the capabilities indicated.&lt;/p&gt;            &lt;p&gt;As a result, if a client becomes unavailable, this method SHOULD             be called with a &lt;tp:type&gt;Handler_Capabilities&lt;/tp:type&gt; structure             containing its name, an empty list of channel classes, and an             empty list of capabilities. When this is done, the connection             manager SHOULD free all memory associated with that client name.&lt;/p&gt;            &lt;tp:rationale&gt;             &lt;p&gt;This method takes a list of clients so that               when the channel dispatcher first calls it (with a list of all               the Handlers that are initially available), the changes can be               made atomically, with only one transmission of updated               capabilities to the network. Afterwards, the channel dispatcher               will call this method with a single-element list every time               a Handler becomes available or unavailable.&lt;/p&gt;           &lt;/tp:rationale&gt;            &lt;p&gt;The connection manager MUST ignore any channel classes and client             capabilities for which there is no representation in the protocol             or no support in the connection manager.&lt;/p&gt;
 
508
</td>
 
509
</tr>
 
510
<tr>
 
511
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
512
<td> called when the method call succeeds or fails;
 
513
  may be <a
 
514
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
515
><code class="literal">NULL</code></a> to make a "fire and forget" call with no 
 
516
  reply tracking
 
517
</td>
 
518
</tr>
 
519
<tr>
 
520
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 
521
<td> user-supplied data passed to the callback;
 
522
  must be <a
 
523
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
524
><code class="literal">NULL</code></a> if <em class="parameter"><code>callback</code></em> is <a
 
525
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
526
><code class="literal">NULL</code></a>
 
527
</td>
 
528
</tr>
 
529
<tr>
 
530
<td><p><span class="term"><em class="parameter"><code>destroy</code></em> :</span></p></td>
 
531
<td> called with the user_data as argument, after the
 
532
  call has succeeded, failed or been cancelled;
 
533
  must be <a
 
534
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
535
><code class="literal">NULL</code></a> if <em class="parameter"><code>callback</code></em> is <a
 
536
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
537
><code class="literal">NULL</code></a>
 
538
</td>
 
539
</tr>
 
540
<tr>
 
541
<td><p><span class="term"><em class="parameter"><code>weak_object</code></em> :</span></p></td>
 
542
<td> If not <a
 
543
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
544
><code class="literal">NULL</code></a>, a <a
 
545
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
 
546
><span class="type">GObject</span></a> which will be 
 
547
  weakly referenced; if it is destroyed, this call 
 
548
  will automatically be cancelled. Must be <a
 
549
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
550
><code class="literal">NULL</code></a> if 
 
551
  <em class="parameter"><code>callback</code></em> is <a
 
552
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
553
><code class="literal">NULL</code></a>
 
554
</td>
 
555
</tr>
 
556
<tr>
 
557
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
558
<td> a <a class="link" href="telepathy-glib-proxy.html#TpProxyPendingCall" title="TpProxyPendingCall"><span class="type">TpProxyPendingCall</span></a> representing the call in
 
559
 progress. It is borrowed from the object, and will become
 
560
 invalid when the callback is called, the call is
 
561
 cancelled or the <a class="link" href="telepathy-glib-proxy.html#TpProxy"><span class="type">TpProxy</span></a> becomes invalid.
 
562
</td>
 
563
</tr>
 
564
</tbody>
 
565
</table></div>
 
566
</div>
 
567
<hr>
 
568
<div class="refsect2" title="tp_cli_connection_interface_contact_capabilities_signal_callback_contact_capabilities_changed ()">
 
569
<a name="tp-cli-connection-interface-contact-capabilities-signal-callback-contact-capabilities-changed"></a><h3>tp_cli_connection_interface_contact_capabilities_signal_callback_contact_capabilities_changed ()</h3>
 
570
<pre class="programlisting">void                (*tp_cli_connection_interface_contact_capabilities_signal_callback_contact_capabilities_changed)
 
571
                                                        (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy,
 
572
                                                         <a
 
573
href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"
 
574
>GHashTable</a> *arg_caps,
 
575
                                                         <a
 
576
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
 
577
>gpointer</a> user_data,
 
578
                                                         <a
 
579
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
 
580
>GObject</a> *weak_object);</pre>
 
581
<p>
 
582
Represents the signature of a callback for the signal ContactCapabilitiesChanged.</p>
 
583
<p>
 
584
</p>
 
585
<div class="variablelist"><table border="0">
 
586
<col align="left" valign="top">
 
587
<tbody>
 
588
<tr>
 
589
<td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td>
 
590
<td> The proxy on which <a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-contact-capabilities-connect-to-contact-capabilities-changed" title="tp_cli_connection_interface_contact_capabilities_connect_to_contact_capabilities_changed ()"><code class="function">tp_cli_connection_interface_contact_capabilities_connect_to_contact_capabilities_changed()</code></a>
 
591
 was called
 
592
</td>
 
593
</tr>
 
594
<tr>
 
595
<td><p><span class="term"><em class="parameter"><code>arg_caps</code></em> :</span></p></td>
 
596
<td> &lt;tp:docstring xmlns="http://www.w3.org/1999/xhtml"&gt;           All the capabilities of the contacts
 
597
</td>
 
598
</tr>
 
599
<tr>
 
600
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 
601
<td> User-supplied data
 
602
</td>
 
603
</tr>
 
604
<tr>
 
605
<td><p><span class="term"><em class="parameter"><code>weak_object</code></em> :</span></p></td>
 
606
<td> User-supplied weakly referenced object
 
607
</td>
 
608
</tr>
 
609
</tbody>
 
610
</table></div>
 
611
</div>
 
612
<hr>
 
613
<div class="refsect2" title="tp_cli_connection_interface_contact_capabilities_connect_to_contact_capabilities_changed ()">
 
614
<a name="tp-cli-connection-interface-contact-capabilities-connect-to-contact-capabilities-changed"></a><h3>tp_cli_connection_interface_contact_capabilities_connect_to_contact_capabilities_changed ()</h3>
 
615
<pre class="programlisting"><a class="link" href="telepathy-glib-proxy.html#TpProxySignalConnection" title="TpProxySignalConnection">TpProxySignalConnection</a> * tp_cli_connection_interface_contact_capabilities_connect_to_contact_capabilities_changed
 
616
                                                        (<a class="link" href="telepathy-glib-connection.html#TpConnection">TpConnection</a> *proxy,
 
617
                                                         <a class="link" href="telepathy-glib-connection-caps.html#tp-cli-connection-interface-contact-capabilities-signal-callback-contact-capabilities-changed" title="tp_cli_connection_interface_contact_capabilities_signal_callback_contact_capabilities_changed ()">tp_cli_connection_interface_contact_capabilities_signal_callback_contact_capabilities_changed</a> callback,
 
618
                                                         <a
 
619
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
 
620
>gpointer</a> user_data,
 
621
                                                         <a
 
622
href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"
 
623
>GDestroyNotify</a> destroy,
 
624
                                                         <a
 
625
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
 
626
>GObject</a> *weak_object,
319
627
                                                         <a
320
628
href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"
321
 
>GError</a> **error,
322
 
                                                         <a
323
 
href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainLoop"
324
 
>GMainLoop</a> **loop);</pre>
 
629
>GError</a> **error);</pre>
325
630
<p>
326
 
Call the method GetCapabilities and run the main loop
327
 
until it returns. Before calling this method, you must
328
 
add a reference to any borrowed objects you need to keep,
329
 
and generally ensure that everything is in a consistent
330
 
state.
 
631
Connect a handler to the signal ContactCapabilitiesChanged.
331
632
</p>
332
633
<p>
333
 
Returns an array of capabilities for the given contact handles.</p>
 
634
&lt;tp:docstring xmlns="http://www.w3.org/1999/xhtml"&gt;         &lt;p&gt;Announce that there has been a change of capabilities on the           given handles. A single signal can be emitted for several         contacts.&lt;/p&gt;          &lt;tp:rationale&gt;           &lt;p&gt;The underlying protocol can get several contacts' capabilities at             the same time.&lt;/p&gt;         &lt;/tp:rationale&gt;</p>
334
635
<p>
335
636
</p>
336
637
<div class="variablelist"><table border="0">
342
643
</td>
343
644
</tr>
344
645
<tr>
345
 
<td><p><span class="term"><em class="parameter"><code>timeout_ms</code></em> :</span></p></td>
346
 
<td> Timeout in milliseconds, or -1 for default
347
 
</td>
348
 
</tr>
349
 
<tr>
350
 
<td><p><span class="term"><em class="parameter"><code>in_Handles</code></em> :</span></p></td>
351
 
<td> Used to pass an 'in' argument: &lt;tp:docstring xmlns="http://www.w3.org/1999/xhtml"&gt;           &lt;p&gt;An array of contact handles for this connection.&lt;/p&gt;            &lt;p&gt;This may include zero, which originally meant a query for             capabilities available on the connection itself. This usage             is deprecated; clients SHOULD NOT do this, and connection managers             SHOULD proceed as though zero had not been present in this             list.&lt;/p&gt;
352
 
</td>
353
 
</tr>
354
 
<tr>
355
 
<td><p><span class="term"><em class="parameter"><code>out_Contact_Capabilities</code></em> :</span></p></td>
356
 
<td> Used to return an 'out' argument if <a
357
 
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE--CAPS"
358
 
><code class="literal">TRUE</code></a> is returned: &lt;tp:docstring xmlns="http://www.w3.org/1999/xhtml"&gt;           An array of structures containing:           &lt;ul&gt;             &lt;li&gt;an integer handle representing the contact&lt;/li&gt;             &lt;li&gt;a string channel type&lt;/li&gt;             &lt;li&gt;a bitwise OR of generic capability flags for the type&lt;/li&gt;             &lt;li&gt;a bitwise OR of type specific capability flags for the type&lt;/li&gt;           &lt;/ul&gt;
 
646
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
647
<td> Callback to be called when the signal is
 
648
  received
 
649
</td>
 
650
</tr>
 
651
<tr>
 
652
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 
653
<td> User-supplied data for the callback
 
654
</td>
 
655
</tr>
 
656
<tr>
 
657
<td><p><span class="term"><em class="parameter"><code>destroy</code></em> :</span></p></td>
 
658
<td> Destructor for the user-supplied data, which
 
659
  will be called when this signal is disconnected, or
 
660
  before this function returns <a
 
661
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
662
><code class="literal">NULL</code></a>
 
663
</td>
 
664
</tr>
 
665
<tr>
 
666
<td><p><span class="term"><em class="parameter"><code>weak_object</code></em> :</span></p></td>
 
667
<td> A <a
 
668
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
 
669
><span class="type">GObject</span></a> which will be weakly referenced; 
 
670
  if it is destroyed, this callback will automatically be
 
671
  disconnected
359
672
</td>
360
673
</tr>
361
674
<tr>
362
675
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
363
676
<td> If not <a
364
677
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
365
 
><code class="literal">NULL</code></a>, used to return errors if <a
366
 
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE--CAPS"
367
 
><code class="literal">FALSE</code></a> 
368
 
 is returned
369
 
</td>
370
 
</tr>
371
 
<tr>
372
 
<td><p><span class="term"><em class="parameter"><code>loop</code></em> :</span></p></td>
373
 
<td> If not <a
 
678
><code class="literal">NULL</code></a>, used to raise an error if <a
374
679
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
375
 
><code class="literal">NULL</code></a>, set before re-entering 
376
 
 the main loop, to point to a <a
377
 
href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainLoop"
378
 
><span class="type">GMainLoop</span></a> 
379
 
 which can be used to cancel this call with 
380
 
 <a
381
 
href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-main-loop-quit"
382
 
><code class="function">g_main_loop_quit()</code></a>, causing a return of 
383
 
 <a
384
 
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE--CAPS"
385
 
><code class="literal">FALSE</code></a> with <em class="parameter"><code>error</code></em> set to <a class="link" href="telepathy-glib-proxy.html#TP-DBUS-ERROR-CANCELLED--CAPS"><code class="literal">TP_DBUS_ERROR_CANCELLED</code></a>
 
680
><code class="literal">NULL</code></a> is
 
681
  returned
386
682
</td>
387
683
</tr>
388
684
<tr>
389
685
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
390
 
<td> TRUE on success, FALSE and sets <em class="parameter"><code>error</code></em> on error
 
686
<td> a <a class="link" href="telepathy-glib-proxy.html#TpProxySignalConnection" title="TpProxySignalConnection"><span class="type">TpProxySignalConnection</span></a> containing all of the
 
687
above, which can be used to disconnect the signal; or
 
688
<a
 
689
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
 
690
><code class="literal">NULL</code></a> if the proxy does not have the desired interface
 
691
or has become invalid.
391
692
</td>
392
693
</tr>
393
694
</tbody>