~ubuntu-branches/ubuntu/wily/telepathy-qt5/wily

« back to all changes in this revision

Viewing changes to doc/html/a00177.html

  • Committer: Package Import Robot
  • Author(s): Tiago Salem Herrmann
  • Date: 2015-05-29 18:01:17 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20150529180117-nj5geaevciyps6b5
Tags: 0.9.6.1-0ubuntu1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
4
4
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
5
<head>
6
 
  <title>Tp::Client::ConnectionInterfaceContactListInterface Class Reference</title>
 
6
  <title>Tp::ChannelDetails Struct Reference</title>
7
7
  <link href="doxygen.css" rel="stylesheet" type="text/css" />
8
8
</head>
9
9
<body>
26
26
</td>
27
27
</tr>
28
28
</table>
29
 
<!-- Generated by Doxygen 1.7.6.1 -->
30
 
  <div id="nav-path" class="navpath">
31
 
    <ul>
32
 
      <li class="navelem"><a class="el" href="a00724.html">Tp</a>      </li>
33
 
      <li class="navelem"><a class="el" href="a00728.html">Client</a>      </li>
34
 
      <li class="navelem"><a class="el" href="a00177.html">ConnectionInterfaceContactListInterface</a>      </li>
35
 
    </ul>
36
 
  </div>
 
29
<!-- Generated by Doxygen 1.8.5 -->
 
30
<div id="nav-path" class="navpath">
 
31
  <ul>
 
32
<li class="navelem"><a class="el" href="a00860.html">Tp</a></li><li class="navelem"><a class="el" href="a00177.html">ChannelDetails</a></li>  </ul>
37
33
</div>
 
34
</div><!-- top -->
38
35
<div class="header">
39
36
  <div class="summary">
40
 
<a href="#pub-slots">Public Slots</a> &#124;
41
 
<a href="#signals">Signals</a> &#124;
42
 
<a href="#pub-methods">Public Member Functions</a> &#124;
43
 
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
44
 
<a href="#pro-methods">Protected Member Functions</a>  </div>
 
37
<a href="#pub-attribs">Public Attributes</a> &#124;
 
38
<a href="a01143.html">List of all members</a>  </div>
45
39
  <div class="headertitle">
46
 
<div class="title">Tp::Client::ConnectionInterfaceContactListInterface Class Reference<div class="ingroups"><a class="el" href="a00745.html">Connection proxies</a></div></div>  </div>
 
40
<div class="title">Tp::ChannelDetails Struct Reference<div class="ingroups"><a class="el" href="a00897.html">Structure types</a></div></div>  </div>
47
41
</div><!--header-->
48
42
<div class="contents">
49
 
<!-- doxytag: class="Tp::Client::ConnectionInterfaceContactListInterface" --><!-- doxytag: inherits="Tp::AbstractInterface" -->
50
 
<p><code>#include &lt;<a class="el" href="a00508_source.html">TelepathyQt/Connection</a>&gt;</code></p>
51
 
 
52
 
<p>Inherits <a class="el" href="a00037.html">Tp::AbstractInterface</a>.</p>
53
 
 
54
 
<p><a href="a01135.html">List of all members.</a></p>
55
 
<h2><a name="pub-slots"></a>
56
 
Public Slots</h2>
57
 
<ul>
58
 
<li>QDBusPendingReply<br class="typebreak"/>
59
 
&lt; <a class="el" href="a00191.html">Tp::ContactAttributesMap</a> &gt; <a class="el" href="a00177.html#a6e699cca4cc6a1dbaa22209e9a4e8037">GetContactListAttributes</a> (const QStringList &amp;interfaces, bool hold, int timeout=-1)
60
 
<li>QDBusPendingReply <a class="el" href="a00177.html#adeae1e380bc1f9bc3342057d571f0b93">RequestSubscription</a> (const <a class="el" href="a00414.html">Tp::UIntList</a> &amp;contacts, const QString &amp;message, int timeout=-1)
61
 
<li>QDBusPendingReply <a class="el" href="a00177.html#a1632effbf59f0e746d32efe66cabae9a">AuthorizePublication</a> (const <a class="el" href="a00414.html">Tp::UIntList</a> &amp;contacts, int timeout=-1)
62
 
<li>QDBusPendingReply <a class="el" href="a00177.html#a61a7630763ca10bd1bff8fa62e7dd7bb">RemoveContacts</a> (const <a class="el" href="a00414.html">Tp::UIntList</a> &amp;contacts, int timeout=-1)
63
 
<li>QDBusPendingReply <a class="el" href="a00177.html#ab2b423b9376ec1c155ccf84e33356b45">Unsubscribe</a> (const <a class="el" href="a00414.html">Tp::UIntList</a> &amp;contacts, int timeout=-1)
64
 
<li>QDBusPendingReply <a class="el" href="a00177.html#a6dfda782fbf203ff4f8d45d4a6206b39">Unpublish</a> (const <a class="el" href="a00414.html">Tp::UIntList</a> &amp;contacts, int timeout=-1)
65
 
<li>QDBusPendingReply <a class="el" href="a00177.html#ad6f51368f4d87a17baae74d2a0334519">Download</a> (int timeout=-1)
66
 
</ul>
67
 
<h2><a name="signals"></a>
68
 
Signals</h2>
69
 
<ul>
70
 
<li>void <a class="el" href="a00177.html#ae3c1d17246c3ac4ecd47c381c03fec6a">ContactListStateChanged</a> (uint contactListState)
71
 
<li>void <a class="el" href="a00177.html#ae968799e729aff2d0c5d77946b62a54d">ContactsChangedWithID</a> (const <a class="el" href="a00210.html">Tp::ContactSubscriptionMap</a> &amp;changes, const <a class="el" href="a00246.html">Tp::HandleIdentifierMap</a> &amp;identifiers, const <a class="el" href="a00246.html">Tp::HandleIdentifierMap</a> &amp;removals)
72
 
<li>void <a class="el" href="a00177.html#ab4f99743d64306ef318f39a9bdc59d20">ContactsChanged</a> (const <a class="el" href="a00210.html">Tp::ContactSubscriptionMap</a> &amp;changes, const <a class="el" href="a00414.html">Tp::UIntList</a> &amp;removals)
73
 
</ul>
74
 
<h2><a name="pub-methods"></a>
75
 
Public Member Functions</h2>
76
 
<ul>
77
 
<li><a class="el" href="a00177.html#a05e2e822142be17118de349ff38da013">ConnectionInterfaceContactListInterface</a> (const QString &amp;busName, const QString &amp;objectPath, QObject *parent=0)
78
 
<li><a class="el" href="a00177.html#a8d596a79288ae28e604e8aaf3714cbe8">ConnectionInterfaceContactListInterface</a> (const QDBusConnection &amp;connection, const QString &amp;busName, const QString &amp;objectPath, QObject *parent=0)
79
 
<li><a class="el" href="a00177.html#a1d4df82fd1f68d396a7a3c85266ee9b2">ConnectionInterfaceContactListInterface</a> (<a class="el" href="a00216.html">Tp::DBusProxy</a> *proxy)
80
 
<li><a class="el" href="a00177.html#a86d745f71277bfcf655887afd9a7a100">ConnectionInterfaceContactListInterface</a> (const <a class="el" href="a00164.html">Tp::Client::ConnectionInterface</a> &amp;mainInterface)
81
 
<li><a class="el" href="a00177.html#a45236d75788776727da3db43a20227d8">ConnectionInterfaceContactListInterface</a> (const <a class="el" href="a00164.html">Tp::Client::ConnectionInterface</a> &amp;mainInterface, QObject *parent)
82
 
<li><a class="el" href="a00329.html">Tp::PendingVariant</a> * <a class="el" href="a00177.html#a14b164c68a4855c311ff338c4981e8ae">requestPropertyContactListState</a> () const 
83
 
<li><a class="el" href="a00329.html">Tp::PendingVariant</a> * <a class="el" href="a00177.html#aeec2a0e273dd855f6da054ccde63a56d">requestPropertyContactListPersists</a> () const 
84
 
<li><a class="el" href="a00329.html">Tp::PendingVariant</a> * <a class="el" href="a00177.html#a4bd8a495bb8c1cb9cd947c85df53c173">requestPropertyCanChangeContactList</a> () const 
85
 
<li><a class="el" href="a00329.html">Tp::PendingVariant</a> * <a class="el" href="a00177.html#aa005471e8039d196cce840344e4c22b5">requestPropertyRequestUsesMessage</a> () const 
86
 
<li><a class="el" href="a00329.html">Tp::PendingVariant</a> * <a class="el" href="a00177.html#a6133c9d773edbec143a5946c81ec2f2c">requestPropertyDownloadAtConnection</a> () const 
87
 
<li><a class="el" href="a00330.html">Tp::PendingVariantMap</a> * <a class="el" href="a00177.html#a5c475329e6983af0f8a078a8bdbb5c0e">requestAllProperties</a> () const 
88
 
</ul>
89
 
<h2><a name="pub-static-methods"></a>
90
 
Static Public Member Functions</h2>
91
 
<ul>
92
 
<li>static QLatin1String <a class="el" href="a00177.html#a6da850950e8f95621deade9d32433220">staticInterfaceName</a> ()
93
 
</ul>
94
 
<h2><a name="pro-methods"></a>
95
 
Protected Member Functions</h2>
96
 
<ul>
97
 
<li>virtual void <a class="el" href="a00177.html#abef53119d032bec10e74f408e7a2f1e8">invalidate</a> (<a class="el" href="a00216.html">Tp::DBusProxy</a> *, const QString &amp;, const QString &amp;)
98
 
</ul>
99
 
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
100
 
<div class="textblock"><p>Proxy class providing a 1:1 mapping of the D-Bus interface "org.freedesktop.Telepathy.Connection.Interface.ContactList". </p>
101
 
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
102
 
<a class="anchor" id="a05e2e822142be17118de349ff38da013"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::ConnectionInterfaceContactListInterface" ref="a05e2e822142be17118de349ff38da013" args="(const QString &amp;busName, const QString &amp;objectPath, QObject *parent=0)" -->
103
 
<div class="memitem">
104
 
<div class="memproto">
105
 
      <table class="memname">
106
 
        <tr>
107
 
          <td class="memname"><a class="el" href="a00177.html#a05e2e822142be17118de349ff38da013">Tp::Client::ConnectionInterfaceContactListInterface::ConnectionInterfaceContactListInterface</a> </td>
108
 
          <td>(</td>
109
 
          <td class="paramtype">const QString &amp;&#160;</td>
110
 
          <td class="paramname"><em>busName</em>, </td>
111
 
        </tr>
112
 
        <tr>
113
 
          <td class="paramkey"></td>
114
 
          <td></td>
115
 
          <td class="paramtype">const QString &amp;&#160;</td>
116
 
          <td class="paramname"><em>objectPath</em>, </td>
117
 
        </tr>
118
 
        <tr>
119
 
          <td class="paramkey"></td>
120
 
          <td></td>
121
 
          <td class="paramtype">QObject *&#160;</td>
122
 
          <td class="paramname"><em>parent</em> = <code>0</code>&#160;</td>
123
 
        </tr>
124
 
        <tr>
125
 
          <td></td>
126
 
          <td>)</td>
127
 
          <td></td><td></td>
128
 
        </tr>
129
 
      </table>
130
 
</div>
131
 
<div class="memdoc">
132
 
<p>Creates a <a class="el" href="a00177.html">ConnectionInterfaceContactListInterface</a> associated with the given object on the session bus.</p>
133
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
134
 
  <table class="params">
135
 
    <tr><td class="paramname">busName</td><td>Name of the service the object is on. </td></tr>
136
 
    <tr><td class="paramname">objectPath</td><td>Path to the object on the service. </td></tr>
137
 
    <tr><td class="paramname">parent</td><td>Passed to the parent class constructor. </td></tr>
138
 
  </table>
139
 
  </dd>
140
 
</dl>
141
 
 
142
 
</div>
143
 
</div>
144
 
<a class="anchor" id="a8d596a79288ae28e604e8aaf3714cbe8"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::ConnectionInterfaceContactListInterface" ref="a8d596a79288ae28e604e8aaf3714cbe8" args="(const QDBusConnection &amp;connection, const QString &amp;busName, const QString &amp;objectPath, QObject *parent=0)" -->
145
 
<div class="memitem">
146
 
<div class="memproto">
147
 
      <table class="memname">
148
 
        <tr>
149
 
          <td class="memname"><a class="el" href="a00177.html#a05e2e822142be17118de349ff38da013">Tp::Client::ConnectionInterfaceContactListInterface::ConnectionInterfaceContactListInterface</a> </td>
150
 
          <td>(</td>
151
 
          <td class="paramtype">const QDBusConnection &amp;&#160;</td>
152
 
          <td class="paramname"><em>connection</em>, </td>
153
 
        </tr>
154
 
        <tr>
155
 
          <td class="paramkey"></td>
156
 
          <td></td>
157
 
          <td class="paramtype">const QString &amp;&#160;</td>
158
 
          <td class="paramname"><em>busName</em>, </td>
159
 
        </tr>
160
 
        <tr>
161
 
          <td class="paramkey"></td>
162
 
          <td></td>
163
 
          <td class="paramtype">const QString &amp;&#160;</td>
164
 
          <td class="paramname"><em>objectPath</em>, </td>
165
 
        </tr>
166
 
        <tr>
167
 
          <td class="paramkey"></td>
168
 
          <td></td>
169
 
          <td class="paramtype">QObject *&#160;</td>
170
 
          <td class="paramname"><em>parent</em> = <code>0</code>&#160;</td>
171
 
        </tr>
172
 
        <tr>
173
 
          <td></td>
174
 
          <td>)</td>
175
 
          <td></td><td></td>
176
 
        </tr>
177
 
      </table>
178
 
</div>
179
 
<div class="memdoc">
180
 
<p>Creates a <a class="el" href="a00177.html">ConnectionInterfaceContactListInterface</a> associated with the given object on the given bus.</p>
181
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
182
 
  <table class="params">
183
 
    <tr><td class="paramname">connection</td><td>The bus via which the object can be reached. </td></tr>
184
 
    <tr><td class="paramname">busName</td><td>Name of the service the object is on. </td></tr>
185
 
    <tr><td class="paramname">objectPath</td><td>Path to the object on the service. </td></tr>
186
 
    <tr><td class="paramname">parent</td><td>Passed to the parent class constructor. </td></tr>
187
 
  </table>
188
 
  </dd>
189
 
</dl>
190
 
 
191
 
</div>
192
 
</div>
193
 
<a class="anchor" id="a1d4df82fd1f68d396a7a3c85266ee9b2"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::ConnectionInterfaceContactListInterface" ref="a1d4df82fd1f68d396a7a3c85266ee9b2" args="(Tp::DBusProxy *proxy)" -->
194
 
<div class="memitem">
195
 
<div class="memproto">
196
 
      <table class="memname">
197
 
        <tr>
198
 
          <td class="memname"><a class="el" href="a00177.html#a05e2e822142be17118de349ff38da013">Tp::Client::ConnectionInterfaceContactListInterface::ConnectionInterfaceContactListInterface</a> </td>
199
 
          <td>(</td>
200
 
          <td class="paramtype"><a class="el" href="a00216.html">Tp::DBusProxy</a> *&#160;</td>
201
 
          <td class="paramname"><em>proxy</em></td><td>)</td>
202
 
          <td></td>
203
 
        </tr>
204
 
      </table>
205
 
</div>
206
 
<div class="memdoc">
207
 
<p>Creates a <a class="el" href="a00177.html">ConnectionInterfaceContactListInterface</a> associated with the same object as the given proxy.</p>
208
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
209
 
  <table class="params">
210
 
    <tr><td class="paramname">proxy</td><td>The proxy to use. It will also be the QObject::parent() for this object. </td></tr>
211
 
  </table>
212
 
  </dd>
213
 
</dl>
214
 
 
215
 
</div>
216
 
</div>
217
 
<a class="anchor" id="a86d745f71277bfcf655887afd9a7a100"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::ConnectionInterfaceContactListInterface" ref="a86d745f71277bfcf655887afd9a7a100" args="(const Tp::Client::ConnectionInterface &amp;mainInterface)" -->
218
 
<div class="memitem">
219
 
<div class="memproto">
220
 
      <table class="memname">
221
 
        <tr>
222
 
          <td class="memname"><a class="el" href="a00177.html#a05e2e822142be17118de349ff38da013">Tp::Client::ConnectionInterfaceContactListInterface::ConnectionInterfaceContactListInterface</a> </td>
223
 
          <td>(</td>
224
 
          <td class="paramtype">const <a class="el" href="a00164.html">Tp::Client::ConnectionInterface</a> &amp;&#160;</td>
225
 
          <td class="paramname"><em>mainInterface</em></td><td>)</td>
226
 
          <td><code> [explicit]</code></td>
227
 
        </tr>
228
 
      </table>
229
 
</div>
230
 
<div class="memdoc">
231
 
<p>Creates a <a class="el" href="a00177.html">ConnectionInterfaceContactListInterface</a> associated with the same object as the given proxy. Additionally, the created proxy will have the same parent as the given proxy.</p>
232
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
233
 
  <table class="params">
234
 
    <tr><td class="paramname">mainInterface</td><td>The proxy to use. </td></tr>
235
 
  </table>
236
 
  </dd>
237
 
</dl>
238
 
 
239
 
</div>
240
 
</div>
241
 
<a class="anchor" id="a45236d75788776727da3db43a20227d8"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::ConnectionInterfaceContactListInterface" ref="a45236d75788776727da3db43a20227d8" args="(const Tp::Client::ConnectionInterface &amp;mainInterface, QObject *parent)" -->
242
 
<div class="memitem">
243
 
<div class="memproto">
244
 
      <table class="memname">
245
 
        <tr>
246
 
          <td class="memname"><a class="el" href="a00177.html#a05e2e822142be17118de349ff38da013">Tp::Client::ConnectionInterfaceContactListInterface::ConnectionInterfaceContactListInterface</a> </td>
247
 
          <td>(</td>
248
 
          <td class="paramtype">const <a class="el" href="a00164.html">Tp::Client::ConnectionInterface</a> &amp;&#160;</td>
249
 
          <td class="paramname"><em>mainInterface</em>, </td>
250
 
        </tr>
251
 
        <tr>
252
 
          <td class="paramkey"></td>
253
 
          <td></td>
254
 
          <td class="paramtype">QObject *&#160;</td>
255
 
          <td class="paramname"><em>parent</em>&#160;</td>
256
 
        </tr>
257
 
        <tr>
258
 
          <td></td>
259
 
          <td>)</td>
260
 
          <td></td><td></td>
261
 
        </tr>
262
 
      </table>
263
 
</div>
264
 
<div class="memdoc">
265
 
<p>Creates a <a class="el" href="a00177.html">ConnectionInterfaceContactListInterface</a> associated with the same object as the given proxy. However, a different parent object can be specified.</p>
266
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
267
 
  <table class="params">
268
 
    <tr><td class="paramname">mainInterface</td><td>The proxy to use. </td></tr>
269
 
    <tr><td class="paramname">parent</td><td>Passed to the parent class constructor. </td></tr>
270
 
  </table>
271
 
  </dd>
272
 
</dl>
273
 
 
274
 
</div>
275
 
</div>
276
 
<hr/><h2>Member Function Documentation</h2>
277
 
<a class="anchor" id="a6da850950e8f95621deade9d32433220"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::staticInterfaceName" ref="a6da850950e8f95621deade9d32433220" args="()" -->
278
 
<div class="memitem">
279
 
<div class="memproto">
280
 
      <table class="memname">
281
 
        <tr>
282
 
          <td class="memname">static QLatin1String <a class="el" href="a00177.html#a6da850950e8f95621deade9d32433220">Tp::Client::ConnectionInterfaceContactListInterface::staticInterfaceName</a> </td>
283
 
          <td>(</td>
284
 
          <td class="paramname"></td><td>)</td>
285
 
          <td><code> [inline, static]</code></td>
286
 
        </tr>
287
 
      </table>
288
 
</div>
289
 
<div class="memdoc">
290
 
<p>Returns the name of the interface "org.freedesktop.Telepathy.Connection.Interface.ContactList", which this class represents.</p>
291
 
<dl class="return"><dt><b>Returns:</b></dt><dd>The D-Bus interface name. </dd></dl>
292
 
 
293
 
</div>
294
 
</div>
295
 
<a class="anchor" id="a14b164c68a4855c311ff338c4981e8ae"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::requestPropertyContactListState" ref="a14b164c68a4855c311ff338c4981e8ae" args="() const " -->
296
 
<div class="memitem">
297
 
<div class="memproto">
298
 
      <table class="memname">
299
 
        <tr>
300
 
          <td class="memname"><a class="el" href="a00329.html">Tp::PendingVariant</a>* <a class="el" href="a00177.html#a14b164c68a4855c311ff338c4981e8ae">Tp::Client::ConnectionInterfaceContactListInterface::requestPropertyContactListState</a> </td>
301
 
          <td>(</td>
302
 
          <td class="paramname"></td><td>)</td>
303
 
          <td> const<code> [inline]</code></td>
304
 
        </tr>
305
 
      </table>
306
 
</div>
307
 
<div class="memdoc">
308
 
<p>Asynchronous getter for the remote object property <code>ContactListState</code> of type <code>uint</code>.</p>
309
 
<p>The progress made in retrieving the contact list. Change notification is via ContactListStateChanged.</p>
310
 
<dl class="return"><dt><b>Returns:</b></dt><dd>A pending variant which will emit finished when the property has been retrieved. </dd></dl>
311
 
 
312
 
</div>
313
 
</div>
314
 
<a class="anchor" id="aeec2a0e273dd855f6da054ccde63a56d"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::requestPropertyContactListPersists" ref="aeec2a0e273dd855f6da054ccde63a56d" args="() const " -->
315
 
<div class="memitem">
316
 
<div class="memproto">
317
 
      <table class="memname">
318
 
        <tr>
319
 
          <td class="memname"><a class="el" href="a00329.html">Tp::PendingVariant</a>* <a class="el" href="a00177.html#aeec2a0e273dd855f6da054ccde63a56d">Tp::Client::ConnectionInterfaceContactListInterface::requestPropertyContactListPersists</a> </td>
320
 
          <td>(</td>
321
 
          <td class="paramname"></td><td>)</td>
322
 
          <td> const<code> [inline]</code></td>
323
 
        </tr>
324
 
      </table>
325
 
</div>
326
 
<div class="memdoc">
327
 
<p>Asynchronous getter for the remote object property <code>ContactListPersists</code> of type <code>bool</code>.</p>
328
 
 
329
 
 <p>If true, presence subscriptions (in both directions) on this
330
 
   connection are stored by the server or other infrastructure.</p>
331
 
 
332
 
 <div class="rationale">
333
 
   <p>XMPP, MSN, ICQ, etc. all behave like this.</p>
334
 
 </div>
335
 
 
336
 
 <p>If false, presence subscriptions on this connection are not
337
 
   stored.</p>
338
 
 
339
 
 <div class="rationale">
340
 
   <p>In SIMPLE (SIP), <em>clients</em> are expected to keep a record
341
 
     of subscriptions, as described below. In link-local XMPP,
342
 
     subscriptions are implicit (everyone on the local network receives
343
 
     presence from everyone else) so nothing is ever stored.</p>
344
 
 </div>
345
 
 
346
 
 <p>If   <a class="el" href="a00177.html#a4bd8a495bb8c1cb9cd947c85df53c173">CanChangeContactList </a>  
347
 
   is true, Telepathy clients (e.g. user interfaces or address books)
348
 
   MAY keep a record of permission to publish and requests to subscribe
349
 
   locally, and attempt to restore it for each Connection. If
350
 
   ContactListPersists is false, clients MAY do this for all contacts;
351
 
   if ContactListPersists is true, clients SHOULD NOT change the state
352
 
   of contacts that were not changed locally.</p>
353
 
 
354
 
 <div class="rationale">
355
 
   <p>In SIMPLE (SIP), ContactListPersists is false, but
356
 
     CanChangeContactList is true. Presence will not be received
357
 
     unless clients renew any subscriptions they have for each
358
 
     connection, in the way described. There is no server-side storage,
359
 
     so clients have no alternative but to maintain independent contact
360
 
     lists.</p>
361
 
 
362
 
   <p>In protocols like XMPP and MSN, it may be useful for clients to
363
 
     queue up subscription requests or removals made while offline and
364
 
     process them next time the connection is online. However, clients
365
 
     should only replay the changes, rather than resetting the contact
366
 
     list to match a stored copy, to avoid overwriting changes that
367
 
     were made on the server.</p>
368
 
 </div>
369
 
 
370
 
 <p>Clients that replay requests like this SHOULD do so by calling
371
 
   AuthorizePublication to pre-approve publication of presence to the
372
 
   appropriate contacts, followed by RequestSubscription to request the
373
 
   appropriate contacts' presences.</p>
374
 
 
375
 
 <p>This property cannot change after the connection has moved to the
376
 
   Connected state. Until then, its value is undefined, and it may
377
 
   change at any time, without notification.</p>
378
 
 <dl class="return"><dt><b>Returns:</b></dt><dd>A pending variant which will emit finished when the property has been retrieved. </dd></dl>
379
 
 
380
 
</div>
381
 
</div>
382
 
<a class="anchor" id="a4bd8a495bb8c1cb9cd947c85df53c173"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::requestPropertyCanChangeContactList" ref="a4bd8a495bb8c1cb9cd947c85df53c173" args="() const " -->
383
 
<div class="memitem">
384
 
<div class="memproto">
385
 
      <table class="memname">
386
 
        <tr>
387
 
          <td class="memname"><a class="el" href="a00329.html">Tp::PendingVariant</a>* <a class="el" href="a00177.html#a4bd8a495bb8c1cb9cd947c85df53c173">Tp::Client::ConnectionInterfaceContactListInterface::requestPropertyCanChangeContactList</a> </td>
388
 
          <td>(</td>
389
 
          <td class="paramname"></td><td>)</td>
390
 
          <td> const<code> [inline]</code></td>
391
 
        </tr>
392
 
      </table>
393
 
</div>
394
 
<div class="memdoc">
395
 
<p>Asynchronous getter for the remote object property <code>CanChangeContactList</code> of type <code>bool</code>.</p>
396
 
 
397
 
 <p>If true, presence subscription and publication can be changed
398
 
   using the
399
 
     <a class="el" href="a00177.html#adeae1e380bc1f9bc3342057d571f0b93">RequestSubscription()</a>  ,
400
 
     <a class="el" href="a00177.html#a1632effbf59f0e746d32efe66cabae9a">AuthorizePublication()</a>  and
401
 
     <a class="el" href="a00177.html#a61a7630763ca10bd1bff8fa62e7dd7bb">RemoveContacts()</a>  methods.</p>
402
 
 
403
 
 <p>If false, all of those methods will always fail; they SHOULD raise
404
 
   the error org.freedesktop.Telepathy.Error.NotImplemented.</p>
405
 
 
406
 
 <div class="rationale">
407
 
   <p>In XEP-0174 &quot;Serverless Messaging&quot; (link-local XMPP), presence is
408
 
     implicitly published to everyone in the local subnet, so the user
409
 
     cannot control their presence publication.</p>
410
 
 </div>
411
 
 
412
 
 <p>This property cannot change after the connection has moved to the
413
 
   Connected state. Until then, its value is undefined, and it may
414
 
   change at any time, without notification.</p>
415
 
 <dl class="return"><dt><b>Returns:</b></dt><dd>A pending variant which will emit finished when the property has been retrieved. </dd></dl>
416
 
 
417
 
</div>
418
 
</div>
419
 
<a class="anchor" id="aa005471e8039d196cce840344e4c22b5"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::requestPropertyRequestUsesMessage" ref="aa005471e8039d196cce840344e4c22b5" args="() const " -->
420
 
<div class="memitem">
421
 
<div class="memproto">
422
 
      <table class="memname">
423
 
        <tr>
424
 
          <td class="memname"><a class="el" href="a00329.html">Tp::PendingVariant</a>* <a class="el" href="a00177.html#aa005471e8039d196cce840344e4c22b5">Tp::Client::ConnectionInterfaceContactListInterface::requestPropertyRequestUsesMessage</a> </td>
425
 
          <td>(</td>
426
 
          <td class="paramname"></td><td>)</td>
427
 
          <td> const<code> [inline]</code></td>
428
 
        </tr>
429
 
      </table>
430
 
</div>
431
 
<div class="memdoc">
432
 
<p>Asynchronous getter for the remote object property <code>RequestUsesMessage</code> of type <code>bool</code>.</p>
433
 
 
434
 
 <p>If true, the Message parameter to
435
 
     <a class="el" href="a00177.html#adeae1e380bc1f9bc3342057d571f0b93">RequestSubscription()</a>  is likely to be
436
 
   significant, and user interfaces SHOULD prompt the user for a
437
 
   message to send with the request; a message such as &quot;I would like
438
 
   to add you to my contact list&quot;, translated into the local user's
439
 
   language, might make a suitable default.</p>
440
 
 
441
 
 <div class="rationale">
442
 
   <p>This matches user expectations in XMPP and ICQ, for instance.</p>
443
 
 </div>
444
 
 
445
 
 <p>If false, the parameter is ignored; user interfaces SHOULD avoid
446
 
   prompting the user, and SHOULD pass an empty string to
447
 
   RequestSubscription.</p>
448
 
 
449
 
 <div class="rationale">
450
 
   <p><em>FIXME: is there any such protocol?</em></p>
451
 
 </div>
452
 
 <dl class="return"><dt><b>Returns:</b></dt><dd>A pending variant which will emit finished when the property has been retrieved. </dd></dl>
453
 
 
454
 
</div>
455
 
</div>
456
 
<a class="anchor" id="a6133c9d773edbec143a5946c81ec2f2c"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::requestPropertyDownloadAtConnection" ref="a6133c9d773edbec143a5946c81ec2f2c" args="() const " -->
457
 
<div class="memitem">
458
 
<div class="memproto">
459
 
      <table class="memname">
460
 
        <tr>
461
 
          <td class="memname"><a class="el" href="a00329.html">Tp::PendingVariant</a>* <a class="el" href="a00177.html#a6133c9d773edbec143a5946c81ec2f2c">Tp::Client::ConnectionInterfaceContactListInterface::requestPropertyDownloadAtConnection</a> </td>
462
 
          <td>(</td>
463
 
          <td class="paramname"></td><td>)</td>
464
 
          <td> const<code> [inline]</code></td>
465
 
        </tr>
466
 
      </table>
467
 
</div>
468
 
<div class="memdoc">
469
 
<p>Asynchronous getter for the remote object property <code>DownloadAtConnection</code> of type <code>bool</code>.</p>
470
 
 
471
 
 <p>If true, the contact list is automatically downloaded at
472
 
   connection. If false, the contact list is only downloaded
473
 
   when requested explicitely with
474
 
     <a class="el" href="a00177.html#ad6f51368f4d87a17baae74d2a0334519">Download()</a>  .</p>
475
 
 
476
 
 <div class="rationale">
477
 
   <p>Downloading the contact list uses bandwidth and is not always
478
 
     necessary or desired. For example, a client could cache the
479
 
     contact list from previous connections and accept less regular
480
 
     updates, it could get the contact list from an out-of-band
481
 
     protocol-specific way, or it could not need the contact list at
482
 
     all.</p>
483
 
 </div>
484
 
 
485
 
 <p>Connection managers MUST default to true.</p>
486
 
 
487
 
 <div class="rationale">
488
 
   <p>If a connection manager starts supporting this property but
489
 
     defaults to false, it would break all existing clients that don't
490
 
     call   <a class="el" href="a00177.html#ad6f51368f4d87a17baae74d2a0334519">Download()</a>  .</p>
491
 
 </div>
492
 
 <dl class="return"><dt><b>Returns:</b></dt><dd>A pending variant which will emit finished when the property has been retrieved. </dd></dl>
493
 
 
494
 
</div>
495
 
</div>
496
 
<a class="anchor" id="a5c475329e6983af0f8a078a8bdbb5c0e"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::requestAllProperties" ref="a5c475329e6983af0f8a078a8bdbb5c0e" args="() const " -->
497
 
<div class="memitem">
498
 
<div class="memproto">
499
 
      <table class="memname">
500
 
        <tr>
501
 
          <td class="memname"><a class="el" href="a00330.html">Tp::PendingVariantMap</a>* <a class="el" href="a00177.html#a5c475329e6983af0f8a078a8bdbb5c0e">Tp::Client::ConnectionInterfaceContactListInterface::requestAllProperties</a> </td>
502
 
          <td>(</td>
503
 
          <td class="paramname"></td><td>)</td>
504
 
          <td> const<code> [inline]</code></td>
505
 
        </tr>
506
 
      </table>
507
 
</div>
508
 
<div class="memdoc">
509
 
<p>Request all of the <a class="el" href="a00729.html">DBus</a> properties on the interface.</p>
510
 
<dl class="return"><dt><b>Returns:</b></dt><dd>A pending variant map which will emit finished when the properties have been retrieved. </dd></dl>
511
 
 
512
 
</div>
513
 
</div>
514
 
<a class="anchor" id="a6e699cca4cc6a1dbaa22209e9a4e8037"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::GetContactListAttributes" ref="a6e699cca4cc6a1dbaa22209e9a4e8037" args="(const QStringList &amp;interfaces, bool hold, int timeout=&#45;1)" -->
515
 
<div class="memitem">
516
 
<div class="memproto">
517
 
      <table class="memname">
518
 
        <tr>
519
 
          <td class="memname">QDBusPendingReply&lt;<a class="el" href="a00191.html">Tp::ContactAttributesMap</a>&gt; <a class="el" href="a00177.html#a6e699cca4cc6a1dbaa22209e9a4e8037">Tp::Client::ConnectionInterfaceContactListInterface::GetContactListAttributes</a> </td>
520
 
          <td>(</td>
521
 
          <td class="paramtype">const QStringList &amp;&#160;</td>
522
 
          <td class="paramname"><em>interfaces</em>, </td>
523
 
        </tr>
524
 
        <tr>
525
 
          <td class="paramkey"></td>
526
 
          <td></td>
527
 
          <td class="paramtype">bool&#160;</td>
528
 
          <td class="paramname"><em>hold</em>, </td>
529
 
        </tr>
530
 
        <tr>
531
 
          <td class="paramkey"></td>
532
 
          <td></td>
533
 
          <td class="paramtype">int&#160;</td>
534
 
          <td class="paramname"><em>timeout</em> = <code>-1</code>&#160;</td>
535
 
        </tr>
536
 
        <tr>
537
 
          <td></td>
538
 
          <td>)</td>
539
 
          <td></td><td><code> [inline, slot]</code></td>
540
 
        </tr>
541
 
      </table>
542
 
</div>
543
 
<div class="memdoc">
544
 
<p>Begins a call to the D-Bus method <code>GetContactListAttributes</code> on the remote object.</p>
545
 
 
546
 
 <p>Return some contact attributes for a list of contacts
547
 
   associated with the user. This list MUST include at least:</p>
548
 
 
549
 
 <ul>
550
 
   <li>all contacts whose <tp:token-ref>subscribe</tp:token-ref>
551
 
     attribute is not No</li>
552
 
   <li>all contacts whose <tp:token-ref>publish</tp:token-ref>
553
 
     attribute is not No</li>
554
 
 </ul>
555
 
 
556
 
 <p>but MAY contain other contacts.</p>
557
 
 
558
 
 <div class="rationale">
559
 
   <p>For instance, on XMPP, all contacts on the roster would appear
560
 
     here even if they have subscription=&quot;none&quot;, unless there's
561
 
     reason to believe the user does not want to see them (such as
562
 
     having been blocked).</p>
563
 
 </div>
564
 
 
565
 
 <p>This list does not need to contain every visible contact: for
566
 
   instance, contacts seen in XMPP or IRC chatrooms SHOULD NOT appear
567
 
   here. Blocked contacts SHOULD NOT appear here, unless they still
568
 
   have a non-<tt>No</tt> <tp:token-ref>subscribe</tp:token-ref> or
569
 
   <tp:token-ref>publish</tp:token-ref> attribute
570
 
   for some reason.</p>
571
 
 
572
 
 <div class="rationale">
573
 
   <p>It's reasonable to assume that blocked contacts should not be
574
 
     visible to the user unless they specifically go looking for them,
575
 
     at least in protocols like XMPP where blocking a contact
576
 
     suppresses presence.</p>
577
 
 </div>
578
 
 <p>Note that <em>timeout</em> is ignored as of now. It will be used once <a href="http://bugreports.qt.nokia.com/browse/QTBUG-11775">http://bugreports.qt.nokia.com/browse/QTBUG-11775</a> is fixed.</p>
579
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
580
 
  <table class="params">
581
 
    <tr><td class="paramname">interfaces</td><td> 
582
 
     <p>A list of strings indicating which D-Bus interfaces the calling
583
 
       process is interested in. Equivalent to the corresponding argument
584
 
       to   <a class="el" href="a00178.html#a43164831038004bb1446384a72a203d6">ConnectionInterfaceContactsInterface::GetContactAttributes()</a>  ,
585
 
       except that if this list does not contain the ContactList
586
 
       interface itself, it is treated as though that interface was also
587
 
       requested.</p>
588
 
     </td></tr>
589
 
    <tr><td class="paramname">hold</td><td> 
590
 
     <p>If true, all handles that appear as keys in the result have been
591
 
       held on behalf of the calling process, as if by a call to
592
 
         <a class="el" href="a00164.html#a14f4cd0312e8b9c8fcd7ce369a983970">ConnectionInterface::HoldHandles()</a>  .
593
 
       (If   <a class="el" href="a00164.html#a565a7efa781442d2c68f678402f16040">ConnectionInterface::HasImmortalHandles </a>  is true, which SHOULD be the
594
 
       case in all new connection managers, this has no effect.)</p>
595
 
      </td></tr>
596
 
    <tr><td class="paramname">timeout</td><td>The timeout in milliseconds.</td></tr>
597
 
  </table>
598
 
  </dd>
599
 
</dl>
600
 
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
601
 
 
602
 
     <p>A dictionary mapping the contact handles to contact attributes,
603
 
       equivalent to the result of   <a class="el" href="a00178.html#a43164831038004bb1446384a72a203d6">ConnectionInterfaceContactsInterface::GetContactAttributes()</a>  .</p>
604
 
      
605
 
</div>
606
 
</div>
607
 
<a class="anchor" id="adeae1e380bc1f9bc3342057d571f0b93"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::RequestSubscription" ref="adeae1e380bc1f9bc3342057d571f0b93" args="(const Tp::UIntList &amp;contacts, const QString &amp;message, int timeout=&#45;1)" -->
608
 
<div class="memitem">
609
 
<div class="memproto">
610
 
      <table class="memname">
611
 
        <tr>
612
 
          <td class="memname">QDBusPendingReply <a class="el" href="a00177.html#adeae1e380bc1f9bc3342057d571f0b93">Tp::Client::ConnectionInterfaceContactListInterface::RequestSubscription</a> </td>
613
 
          <td>(</td>
614
 
          <td class="paramtype">const <a class="el" href="a00414.html">Tp::UIntList</a> &amp;&#160;</td>
615
 
          <td class="paramname"><em>contacts</em>, </td>
616
 
        </tr>
617
 
        <tr>
618
 
          <td class="paramkey"></td>
619
 
          <td></td>
620
 
          <td class="paramtype">const QString &amp;&#160;</td>
621
 
          <td class="paramname"><em>message</em>, </td>
622
 
        </tr>
623
 
        <tr>
624
 
          <td class="paramkey"></td>
625
 
          <td></td>
626
 
          <td class="paramtype">int&#160;</td>
627
 
          <td class="paramname"><em>timeout</em> = <code>-1</code>&#160;</td>
628
 
        </tr>
629
 
        <tr>
630
 
          <td></td>
631
 
          <td>)</td>
632
 
          <td></td><td><code> [inline, slot]</code></td>
633
 
        </tr>
634
 
      </table>
635
 
</div>
636
 
<div class="memdoc">
637
 
<p>Begins a call to the D-Bus method <code>RequestSubscription</code> on the remote object.</p>
638
 
 
639
 
 <p>Request that the given contacts allow the local user to
640
 
   subscribe to their presence, i.e. that their subscribe attribute
641
 
   becomes Yes.</p>
642
 
 
643
 
 <p>Connection managers SHOULD NOT attempt to enforce a
644
 
   mutual-subscription policy (i.e. when this method is called, they
645
 
   should not automatically allow the contacts to see the local user's
646
 
   presence). User interfaces that require mutual subscription
647
 
   MAY call   <a class="el" href="a00177.html#a1632effbf59f0e746d32efe66cabae9a">AuthorizePublication()</a>  
648
 
   at the same time as this method.</p>
649
 
 
650
 
 <div class="rationale">
651
 
   <p>Whether to enforce mutual subscription is a matter of policy,
652
 
     so it is left to the user interface and/or the server.</p>
653
 
 </div>
654
 
 
655
 
 <p>Before calling this method on a connection where   <a class="el" href="a00166.html#a501f89d2ecea040095a7c537cdc7fbbc">ConnectionInterfaceAliasingInterface::GetAliasFlags()</a>  returns the <code>User_Set</code> flag,
656
 
   user interfaces SHOULD obtain, from the user, an alias to
657
 
   identify the contact in future, and store it using   <a class="el" href="a00166.html#a23e464b0eaae1d3f05647ecdec2c3200">ConnectionInterfaceAliasingInterface::SetAliases()</a>  .</p>
658
 
 
659
 
 <p>The user MAY be
660
 
   prompted using the contact's current self-assigned nickname, or
661
 
   something derived from the contact's (presumably self-assigned)
662
 
   identifier, as a default, but these names chosen by the contact
663
 
   SHOULD NOT be used without user approval.</p>
664
 
 
665
 
 <div class="rationale">
666
 
   <p>This is a generalization of
667
 
     <a href="http://xmpp.org/extensions/xep-0165.html">XEP-0165 &quot;Best Practices to Discourage JID Mimicking&quot;</a>)
668
 
     to protocols other than XMPP. A reasonable user interface for
669
 
     this, as used in many XMPP clients, is to have a text entry
670
 
     for the alias adjacent to the text entry for the identifier
671
 
     to add.</p>
672
 
 </div>
673
 
 
674
 
 <p>For contacts with subscribe=Yes, this method has no effect.
675
 
   It MUST return successfully if all contacts are in this state.</p>
676
 
 
677
 
 <p>For contacts with subscribe=Ask, this method SHOULD send a new
678
 
   request, with the given message, if allowed by the underlying
679
 
   protocol.</p>
680
 
 
681
 
 <p>For contacts with subscribe=No or subscribe=Rejected, this method
682
 
   SHOULD request that the contact allows the local user to subscribe
683
 
   to their presence; in general, this will change their publish
684
 
   attribute to Ask (although it could change directly to Yes in some
685
 
   situations).</p>
686
 
 
687
 
 <p>Any state changes that immediately result from this request MUST
688
 
   be signalled via   <a class="el" href="a00177.html#ab4f99743d64306ef318f39a9bdc59d20">ContactsChanged()</a>  
689
 
   before this method returns.</p>
690
 
 
691
 
 <div class="rationale">
692
 
   <p>This makes it easy for user interfaces to see what practical
693
 
     effect this method had.</p>
694
 
 </div>
695
 
 
696
 
 <p>If the remote contact accepts the request, their subscribe
697
 
   attribute will later change from Ask to Yes.</p>
698
 
 
699
 
 <p>If the remote contact explicitly rejects the request (in protocols
700
 
   that allow this), their subscribe attribute will later change from
701
 
   Ask to Rejected.</p>
702
 
 
703
 
 <p>If the subscription request is cancelled by the local user, the
704
 
   contact's subscribe attribute will change from Ask to No.</p>
705
 
 
706
 
 <p>This method SHOULD NOT be called until the
707
 
     <a class="el" href="a00177.html#a14b164c68a4855c311ff338c4981e8ae">ContactListState </a>  changes to Success.
708
 
   If the   <a class="el" href="a00177.html#a14b164c68a4855c311ff338c4981e8ae">ContactListState </a>  changes to
709
 
   Failure, this method SHOULD raise the same error as
710
 
     <a class="el" href="a00177.html#a6e699cca4cc6a1dbaa22209e9a4e8037">GetContactListAttributes()</a>  .</p>
711
 
 <p>Note that <em>timeout</em> is ignored as of now. It will be used once <a href="http://bugreports.qt.nokia.com/browse/QTBUG-11775">http://bugreports.qt.nokia.com/browse/QTBUG-11775</a> is fixed.</p>
712
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
713
 
  <table class="params">
714
 
    <tr><td class="paramname">contacts</td><td> 
715
 
     <p>One or more contacts to whom requests are to be sent.</p>
716
 
     </td></tr>
717
 
    <tr><td class="paramname">message</td><td> 
718
 
     <p>An optional plain-text message from the user, to send to those
719
 
       contacts with the subscription request. The
720
 
         <a class="el" href="a00177.html#aa005471e8039d196cce840344e4c22b5">RequestUsesMessage </a>  property
721
 
       indicates whether this message will be used or ignored.</p>
722
 
     
723
 
     <p>Clients SHOULD NOT send a non-empty message without first giving
724
 
       the user an opportunity to edit it.</p>
725
 
     
726
 
     <div class="rationale">
727
 
       <p>These messages are typically presented to the remote contact
728
 
         as if the user had typed them, so as a minimum, the user should be
729
 
         allowed to see what the UI will be saying on their behalf.</p>
730
 
     </div>
731
 
     
732
 
     <p>Connections where this message is not useful MUST still allow it to
733
 
       be non-empty.</p>
734
 
      </td></tr>
735
 
    <tr><td class="paramname">timeout</td><td>The timeout in milliseconds. </td></tr>
736
 
  </table>
737
 
  </dd>
738
 
</dl>
739
 
 
740
 
</div>
741
 
</div>
742
 
<a class="anchor" id="a1632effbf59f0e746d32efe66cabae9a"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::AuthorizePublication" ref="a1632effbf59f0e746d32efe66cabae9a" args="(const Tp::UIntList &amp;contacts, int timeout=&#45;1)" -->
743
 
<div class="memitem">
744
 
<div class="memproto">
745
 
      <table class="memname">
746
 
        <tr>
747
 
          <td class="memname">QDBusPendingReply <a class="el" href="a00177.html#a1632effbf59f0e746d32efe66cabae9a">Tp::Client::ConnectionInterfaceContactListInterface::AuthorizePublication</a> </td>
748
 
          <td>(</td>
749
 
          <td class="paramtype">const <a class="el" href="a00414.html">Tp::UIntList</a> &amp;&#160;</td>
750
 
          <td class="paramname"><em>contacts</em>, </td>
751
 
        </tr>
752
 
        <tr>
753
 
          <td class="paramkey"></td>
754
 
          <td></td>
755
 
          <td class="paramtype">int&#160;</td>
756
 
          <td class="paramname"><em>timeout</em> = <code>-1</code>&#160;</td>
757
 
        </tr>
758
 
        <tr>
759
 
          <td></td>
760
 
          <td>)</td>
761
 
          <td></td><td><code> [inline, slot]</code></td>
762
 
        </tr>
763
 
      </table>
764
 
</div>
765
 
<div class="memdoc">
766
 
<p>Begins a call to the D-Bus method <code>AuthorizePublication</code> on the remote object.</p>
767
 
 
768
 
 <p>For each of the given contacts, request that the local user's
769
 
   presence is sent to that contact, i.e. that their publish attribute
770
 
   becomes Yes.</p>
771
 
 
772
 
 <p>Connection managers SHOULD NOT attempt to enforce a
773
 
   mutual-subscription policy (i.e. when this method is called, they
774
 
   should not automatically request that the contacts allow the user to
775
 
   subscribe to their presence). User interfaces that require mutual
776
 
   subscription MAY call
777
 
     <a class="el" href="a00177.html#adeae1e380bc1f9bc3342057d571f0b93">RequestSubscription()</a>  at the same time
778
 
   as this method.</p>
779
 
 
780
 
 <div class="rationale">
781
 
   <p>Whether to enforce mutual subscription is a matter of policy,
782
 
     so it is left to the user interface and/or the server.</p>
783
 
 </div>
784
 
 
785
 
 <p>For contacts with publish=Yes, this method has no effect; it
786
 
   MUST return successfully if all contacts given have this state.</p>
787
 
 
788
 
 <p>For contacts with publish=Ask, this method accepts the
789
 
   contact's request to see the local user's presence, changing
790
 
   their publish attribute from Ask to Yes.</p>
791
 
 
792
 
 <p>For contacts with publish=No, if the protocol allows it, this
793
 
   method allows the contacts to see the local user's presence even
794
 
   though they have not requested it, changing their publish attribute
795
 
   from No to Yes. Otherwise, it merely records the fact that
796
 
   presence publication to those contacts is allowed; if any of
797
 
   those contacts ask to receive the local user's presence
798
 
   later in the lifetime of the connection, the connection SHOULD
799
 
   immediately allow them to do so, changing their publish
800
 
   attribute directly from No to Yes.</p>
801
 
 
802
 
 <div class="rationale">
803
 
   <p>This makes it easy to implement the common UI policy that if
804
 
     the user attempts to subscribe to a contact's presence, requests
805
 
     for reciprocal subscription are automatically approved.</p>
806
 
 </div>
807
 
 
808
 
 <p>Any state changes that immediately result from this request MUST
809
 
   be signalled via   <a class="el" href="a00177.html#ab4f99743d64306ef318f39a9bdc59d20">ContactsChanged()</a>  
810
 
   before this method returns.</p>
811
 
 
812
 
 <div class="rationale">
813
 
   <p>This makes it easy for user interfaces to see what practical
814
 
     effect this method had.</p>
815
 
 </div>
816
 
 
817
 
 <p>This method SHOULD NOT be called until the
818
 
     <a class="el" href="a00177.html#a14b164c68a4855c311ff338c4981e8ae">ContactListState </a>  changes to Success.
819
 
   If the   <a class="el" href="a00177.html#a14b164c68a4855c311ff338c4981e8ae">ContactListState </a>  changes to
820
 
   Failure, this method SHOULD raise the same error as
821
 
     <a class="el" href="a00177.html#a6e699cca4cc6a1dbaa22209e9a4e8037">GetContactListAttributes()</a>  .</p>
822
 
 <p>Note that <em>timeout</em> is ignored as of now. It will be used once <a href="http://bugreports.qt.nokia.com/browse/QTBUG-11775">http://bugreports.qt.nokia.com/browse/QTBUG-11775</a> is fixed.</p>
823
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
824
 
  <table class="params">
825
 
    <tr><td class="paramname">contacts</td><td> 
826
 
     <p>One or more contacts to authorize.</p>
827
 
      </td></tr>
828
 
    <tr><td class="paramname">timeout</td><td>The timeout in milliseconds. </td></tr>
829
 
  </table>
830
 
  </dd>
831
 
</dl>
832
 
 
833
 
</div>
834
 
</div>
835
 
<a class="anchor" id="a61a7630763ca10bd1bff8fa62e7dd7bb"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::RemoveContacts" ref="a61a7630763ca10bd1bff8fa62e7dd7bb" args="(const Tp::UIntList &amp;contacts, int timeout=&#45;1)" -->
836
 
<div class="memitem">
837
 
<div class="memproto">
838
 
      <table class="memname">
839
 
        <tr>
840
 
          <td class="memname">QDBusPendingReply <a class="el" href="a00177.html#a61a7630763ca10bd1bff8fa62e7dd7bb">Tp::Client::ConnectionInterfaceContactListInterface::RemoveContacts</a> </td>
841
 
          <td>(</td>
842
 
          <td class="paramtype">const <a class="el" href="a00414.html">Tp::UIntList</a> &amp;&#160;</td>
843
 
          <td class="paramname"><em>contacts</em>, </td>
844
 
        </tr>
845
 
        <tr>
846
 
          <td class="paramkey"></td>
847
 
          <td></td>
848
 
          <td class="paramtype">int&#160;</td>
849
 
          <td class="paramname"><em>timeout</em> = <code>-1</code>&#160;</td>
850
 
        </tr>
851
 
        <tr>
852
 
          <td></td>
853
 
          <td>)</td>
854
 
          <td></td><td><code> [inline, slot]</code></td>
855
 
        </tr>
856
 
      </table>
857
 
</div>
858
 
<div class="memdoc">
859
 
<p>Begins a call to the D-Bus method <code>RemoveContacts</code> on the remote object.</p>
860
 
 
861
 
 <p>Remove the given contacts from the contact list entirely. It is
862
 
   protocol-dependent whether this works, and under which
863
 
   circumstances.</p>
864
 
 
865
 
 <p>If possible, this method SHOULD set the contacts' subscribe and
866
 
   publish attributes to No, remove any stored aliases for those
867
 
   contacts, and remove the contacts from the result of
868
 
     <a class="el" href="a00177.html#a6e699cca4cc6a1dbaa22209e9a4e8037">GetContactListAttributes()</a>  .</p>
869
 
 
870
 
 <p>This method SHOULD succeed even if it was not possible to carry out
871
 
   the request entirely or for all contacts (for instance, if there is an
872
 
   outstanding request to subscribe to the contact's presence, and it's
873
 
   not possible to cancel such requests). However, all signals that
874
 
   immediately result from this method call MUST be emitted before it
875
 
   returns, so that clients can interpret the result.</p>
876
 
 
877
 
 <div class="rationale">
878
 
   <p>User interfaces removing a contact from the contact list are
879
 
     unlikely to want spurious failure notifications resulting from
880
 
     limitations of a particular protocol. However, emitting the
881
 
     signals first means that if a client does want to check exactly
882
 
     what happened, it can wait for the method to return (while
883
 
     applying change-notification signals to its local cache of the
884
 
     contact list's state), then consult its local cache of the
885
 
     contact list's state to see whether the contact is still there.</p>
886
 
 </div>
887
 
 
888
 
 <p>This method SHOULD NOT be called until the
889
 
     <a class="el" href="a00177.html#a14b164c68a4855c311ff338c4981e8ae">ContactListState </a>  changes to Success.
890
 
   If the   <a class="el" href="a00177.html#a14b164c68a4855c311ff338c4981e8ae">ContactListState </a>  changes to
891
 
   Failure, this method SHOULD raise the same error as
892
 
     <a class="el" href="a00177.html#a6e699cca4cc6a1dbaa22209e9a4e8037">GetContactListAttributes()</a>  .</p>
893
 
 <p>Note that <em>timeout</em> is ignored as of now. It will be used once <a href="http://bugreports.qt.nokia.com/browse/QTBUG-11775">http://bugreports.qt.nokia.com/browse/QTBUG-11775</a> is fixed.</p>
894
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
895
 
  <table class="params">
896
 
    <tr><td class="paramname">contacts</td><td> 
897
 
     <p>One or more contacts to remove.</p>
898
 
      </td></tr>
899
 
    <tr><td class="paramname">timeout</td><td>The timeout in milliseconds. </td></tr>
900
 
  </table>
901
 
  </dd>
902
 
</dl>
903
 
 
904
 
</div>
905
 
</div>
906
 
<a class="anchor" id="ab2b423b9376ec1c155ccf84e33356b45"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::Unsubscribe" ref="ab2b423b9376ec1c155ccf84e33356b45" args="(const Tp::UIntList &amp;contacts, int timeout=&#45;1)" -->
907
 
<div class="memitem">
908
 
<div class="memproto">
909
 
      <table class="memname">
910
 
        <tr>
911
 
          <td class="memname">QDBusPendingReply <a class="el" href="a00177.html#ab2b423b9376ec1c155ccf84e33356b45">Tp::Client::ConnectionInterfaceContactListInterface::Unsubscribe</a> </td>
912
 
          <td>(</td>
913
 
          <td class="paramtype">const <a class="el" href="a00414.html">Tp::UIntList</a> &amp;&#160;</td>
914
 
          <td class="paramname"><em>contacts</em>, </td>
915
 
        </tr>
916
 
        <tr>
917
 
          <td class="paramkey"></td>
918
 
          <td></td>
919
 
          <td class="paramtype">int&#160;</td>
920
 
          <td class="paramname"><em>timeout</em> = <code>-1</code>&#160;</td>
921
 
        </tr>
922
 
        <tr>
923
 
          <td></td>
924
 
          <td>)</td>
925
 
          <td></td><td><code> [inline, slot]</code></td>
926
 
        </tr>
927
 
      </table>
928
 
</div>
929
 
<div class="memdoc">
930
 
<p>Begins a call to the D-Bus method <code>Unsubscribe</code> on the remote object.</p>
931
 
 
932
 
 <p>Attempt to set the given contacts' subscribe attribute to No,
933
 
   i.e. stop receiving their presence.</p>
934
 
 
935
 
 <p>For contacts with subscribe=Ask, this attempts to cancel
936
 
   an earlier request to subscribe to the contact's presence; for
937
 
   contacts with subscribe=Yes, this attempts to
938
 
   unsubscribe from the contact's presence.</p>
939
 
 
940
 
 <p>As with   <a class="el" href="a00177.html#a61a7630763ca10bd1bff8fa62e7dd7bb">RemoveContacts()</a>  , this method
941
 
   SHOULD succeed even if it was not possible to carry out the request
942
 
   entirely or for all contacts; however, all signals that
943
 
   immediately result from this method call MUST be emitted before it
944
 
   returns.</p>
945
 
 
946
 
 <p>This method SHOULD NOT be called until the
947
 
     <a class="el" href="a00177.html#a14b164c68a4855c311ff338c4981e8ae">ContactListState </a>  changes to Success.
948
 
   If the   <a class="el" href="a00177.html#a14b164c68a4855c311ff338c4981e8ae">ContactListState </a>  changes to
949
 
   Failure, this method SHOULD raise the same error as
950
 
     <a class="el" href="a00177.html#a6e699cca4cc6a1dbaa22209e9a4e8037">GetContactListAttributes()</a>  .</p>
951
 
 <p>Note that <em>timeout</em> is ignored as of now. It will be used once <a href="http://bugreports.qt.nokia.com/browse/QTBUG-11775">http://bugreports.qt.nokia.com/browse/QTBUG-11775</a> is fixed.</p>
952
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
953
 
  <table class="params">
954
 
    <tr><td class="paramname">contacts</td><td> 
955
 
     <p>One or more contacts to remove.</p>
956
 
      </td></tr>
957
 
    <tr><td class="paramname">timeout</td><td>The timeout in milliseconds. </td></tr>
958
 
  </table>
959
 
  </dd>
960
 
</dl>
961
 
 
962
 
</div>
963
 
</div>
964
 
<a class="anchor" id="a6dfda782fbf203ff4f8d45d4a6206b39"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::Unpublish" ref="a6dfda782fbf203ff4f8d45d4a6206b39" args="(const Tp::UIntList &amp;contacts, int timeout=&#45;1)" -->
965
 
<div class="memitem">
966
 
<div class="memproto">
967
 
      <table class="memname">
968
 
        <tr>
969
 
          <td class="memname">QDBusPendingReply <a class="el" href="a00177.html#a6dfda782fbf203ff4f8d45d4a6206b39">Tp::Client::ConnectionInterfaceContactListInterface::Unpublish</a> </td>
970
 
          <td>(</td>
971
 
          <td class="paramtype">const <a class="el" href="a00414.html">Tp::UIntList</a> &amp;&#160;</td>
972
 
          <td class="paramname"><em>contacts</em>, </td>
973
 
        </tr>
974
 
        <tr>
975
 
          <td class="paramkey"></td>
976
 
          <td></td>
977
 
          <td class="paramtype">int&#160;</td>
978
 
          <td class="paramname"><em>timeout</em> = <code>-1</code>&#160;</td>
979
 
        </tr>
980
 
        <tr>
981
 
          <td></td>
982
 
          <td>)</td>
983
 
          <td></td><td><code> [inline, slot]</code></td>
984
 
        </tr>
985
 
      </table>
986
 
</div>
987
 
<div class="memdoc">
988
 
<p>Begins a call to the D-Bus method <code>Unpublish</code> on the remote object.</p>
989
 
 
990
 
 <p>Attempt to set the given contacts' publish attribute to No,
991
 
   i.e. stop sending presence to them.</p>
992
 
 
993
 
 <p>For contacts with publish=Ask, this method explicitly rejects the
994
 
   contact's request to subscribe to the user's presence; for
995
 
   contacts with publish=Yes, this method attempts to prevent the
996
 
   user's presence from being received by the contact.</p>
997
 
 
998
 
 <p>As with   <a class="el" href="a00177.html#a61a7630763ca10bd1bff8fa62e7dd7bb">RemoveContacts()</a>  , this method
999
 
   SHOULD succeed even if it was not possible to carry out the request
1000
 
   entirely or for all contacts; however, all signals that
1001
 
   immediately result from this method call MUST be emitted before it
1002
 
   returns.</p>
1003
 
 
1004
 
 <p>This method SHOULD NOT be called until the
1005
 
     <a class="el" href="a00177.html#a14b164c68a4855c311ff338c4981e8ae">ContactListState </a>  changes to Success.
1006
 
   If the   <a class="el" href="a00177.html#a14b164c68a4855c311ff338c4981e8ae">ContactListState </a>  changes to
1007
 
   Failure, this method SHOULD raise the same error as
1008
 
     <a class="el" href="a00177.html#a6e699cca4cc6a1dbaa22209e9a4e8037">GetContactListAttributes()</a>  .</p>
1009
 
 <p>Note that <em>timeout</em> is ignored as of now. It will be used once <a href="http://bugreports.qt.nokia.com/browse/QTBUG-11775">http://bugreports.qt.nokia.com/browse/QTBUG-11775</a> is fixed.</p>
1010
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
1011
 
  <table class="params">
1012
 
    <tr><td class="paramname">contacts</td><td> 
1013
 
     <p>One or more contacts to remove.</p>
1014
 
      </td></tr>
1015
 
    <tr><td class="paramname">timeout</td><td>The timeout in milliseconds. </td></tr>
1016
 
  </table>
1017
 
  </dd>
1018
 
</dl>
1019
 
 
1020
 
</div>
1021
 
</div>
1022
 
<a class="anchor" id="ad6f51368f4d87a17baae74d2a0334519"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::Download" ref="ad6f51368f4d87a17baae74d2a0334519" args="(int timeout=&#45;1)" -->
1023
 
<div class="memitem">
1024
 
<div class="memproto">
1025
 
      <table class="memname">
1026
 
        <tr>
1027
 
          <td class="memname">QDBusPendingReply <a class="el" href="a00177.html#ad6f51368f4d87a17baae74d2a0334519">Tp::Client::ConnectionInterfaceContactListInterface::Download</a> </td>
1028
 
          <td>(</td>
1029
 
          <td class="paramtype">int&#160;</td>
1030
 
          <td class="paramname"><em>timeout</em> = <code>-1</code></td><td>)</td>
1031
 
          <td><code> [inline, slot]</code></td>
1032
 
        </tr>
1033
 
      </table>
1034
 
</div>
1035
 
<div class="memdoc">
1036
 
<p>Begins a call to the D-Bus method <code>Download</code> on the remote object.</p>
1037
 
 
1038
 
 <p>Download the contact list from the server. If
1039
 
     <a class="el" href="a00177.html#a6133c9d773edbec143a5946c81ec2f2c">DownloadAtConnection </a>  is true,
1040
 
   Download does nothing.</p>
1041
 
 <p>Note that <em>timeout</em> is ignored as of now. It will be used once <a href="http://bugreports.qt.nokia.com/browse/QTBUG-11775">http://bugreports.qt.nokia.com/browse/QTBUG-11775</a> is fixed.</p>
1042
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
1043
 
  <table class="params">
1044
 
    <tr><td class="paramname">timeout</td><td>The timeout in milliseconds. </td></tr>
1045
 
  </table>
1046
 
  </dd>
1047
 
</dl>
1048
 
 
1049
 
</div>
1050
 
</div>
1051
 
<a class="anchor" id="ae3c1d17246c3ac4ecd47c381c03fec6a"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::ContactListStateChanged" ref="ae3c1d17246c3ac4ecd47c381c03fec6a" args="(uint contactListState)" -->
1052
 
<div class="memitem">
1053
 
<div class="memproto">
1054
 
      <table class="memname">
1055
 
        <tr>
1056
 
          <td class="memname">void <a class="el" href="a00177.html#ae3c1d17246c3ac4ecd47c381c03fec6a">Tp::Client::ConnectionInterfaceContactListInterface::ContactListStateChanged</a> </td>
1057
 
          <td>(</td>
1058
 
          <td class="paramtype">uint&#160;</td>
1059
 
          <td class="paramname"><em>contactListState</em></td><td>)</td>
1060
 
          <td><code> [signal]</code></td>
1061
 
        </tr>
1062
 
      </table>
1063
 
</div>
1064
 
<div class="memdoc">
1065
 
<p>Represents the signal <code>ContactListStateChanged</code> on the remote object.</p>
1066
 
<p>Emitted when ContactListState changes.</p>
1067
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
1068
 
  <table class="params">
1069
 
    <tr><td class="paramname">contactListState</td><td>The new value of ContactListState. </td></tr>
1070
 
  </table>
1071
 
  </dd>
1072
 
</dl>
1073
 
 
1074
 
</div>
1075
 
</div>
1076
 
<a class="anchor" id="ae968799e729aff2d0c5d77946b62a54d"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::ContactsChangedWithID" ref="ae968799e729aff2d0c5d77946b62a54d" args="(const Tp::ContactSubscriptionMap &amp;changes, const Tp::HandleIdentifierMap &amp;identifiers, const Tp::HandleIdentifierMap &amp;removals)" -->
1077
 
<div class="memitem">
1078
 
<div class="memproto">
1079
 
      <table class="memname">
1080
 
        <tr>
1081
 
          <td class="memname">void <a class="el" href="a00177.html#ae968799e729aff2d0c5d77946b62a54d">Tp::Client::ConnectionInterfaceContactListInterface::ContactsChangedWithID</a> </td>
1082
 
          <td>(</td>
1083
 
          <td class="paramtype">const <a class="el" href="a00210.html">Tp::ContactSubscriptionMap</a> &amp;&#160;</td>
1084
 
          <td class="paramname"><em>changes</em>, </td>
1085
 
        </tr>
1086
 
        <tr>
1087
 
          <td class="paramkey"></td>
1088
 
          <td></td>
1089
 
          <td class="paramtype">const <a class="el" href="a00246.html">Tp::HandleIdentifierMap</a> &amp;&#160;</td>
1090
 
          <td class="paramname"><em>identifiers</em>, </td>
1091
 
        </tr>
1092
 
        <tr>
1093
 
          <td class="paramkey"></td>
1094
 
          <td></td>
1095
 
          <td class="paramtype">const <a class="el" href="a00246.html">Tp::HandleIdentifierMap</a> &amp;&#160;</td>
1096
 
          <td class="paramname"><em>removals</em>&#160;</td>
1097
 
        </tr>
1098
 
        <tr>
1099
 
          <td></td>
1100
 
          <td>)</td>
1101
 
          <td></td><td><code> [signal]</code></td>
1102
 
        </tr>
1103
 
      </table>
1104
 
</div>
1105
 
<div class="memdoc">
1106
 
<p>Represents the signal <code>ContactsChangedWithID</code> on the remote object.</p>
1107
 
 
1108
 
 <p>Emitted when the contact list becomes available, when contacts'
1109
 
   basic stored properties change, when new contacts are added to the
1110
 
   list that would be returned by
1111
 
     <a class="el" href="a00177.html#a6e699cca4cc6a1dbaa22209e9a4e8037">GetContactListAttributes()</a>  ,
1112
 
   or when contacts are removed from that list.</p>
1113
 
 
1114
 
 <div class="rationale">
1115
 
   <p>This provides change notification for that list, and for
1116
 
     contacts' <tp:token-ref>subscribe</tp:token-ref>,
1117
 
     <tp:token-ref>publish</tp:token-ref> and
1118
 
     <tp:token-ref>publish-request</tp:token-ref> attributes.</p>
1119
 
 </div>
1120
 
 
1121
 
 <p>Connection managers SHOULD also emit this signal when a contact
1122
 
   requests that the user's presence is published to them, even if
1123
 
   that contact's <tp:token>publish</tp:token> attribute is already
1124
 
   Ask and the <tp:token>publish-request</tp:token> has not changed.</p>
1125
 
 
1126
 
 <div class="rationale">
1127
 
   <p>If the same contact sends 10 identical requests, 10 identical
1128
 
     signals should be emitted.</p>
1129
 
 </div>
1130
 
 <dl class="params"><dt><b>Parameters:</b></dt><dd>
1131
 
  <table class="params">
1132
 
    <tr><td class="paramname">changes</td><td>The new subscribe, publish and publish-request attributes of all the contacts that have been added, and all the contacts for which those attributes have changed.</td></tr>
1133
 
    <tr><td class="paramname">identifiers</td><td> 
1134
 
     The identifiers of the contacts in the <var>Changes</var> map.
1135
 
     </td></tr>
1136
 
    <tr><td class="paramname">removals</td><td> 
1137
 
     The contacts that have been removed from the list that would be
1138
 
     returned by
1139
 
       <a class="el" href="a00177.html#a6e699cca4cc6a1dbaa22209e9a4e8037">GetContactListAttributes()</a>  .
1140
 
     This also implies that they have subscribe = No and publish = No;
1141
 
     contacts MUST NOT be listed both here and in <var>Changes</var>.
1142
 
      </td></tr>
1143
 
  </table>
1144
 
  </dd>
1145
 
</dl>
1146
 
 
1147
 
</div>
1148
 
</div>
1149
 
<a class="anchor" id="ab4f99743d64306ef318f39a9bdc59d20"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::ContactsChanged" ref="ab4f99743d64306ef318f39a9bdc59d20" args="(const Tp::ContactSubscriptionMap &amp;changes, const Tp::UIntList &amp;removals)" -->
1150
 
<div class="memitem">
1151
 
<div class="memproto">
1152
 
      <table class="memname">
1153
 
        <tr>
1154
 
          <td class="memname">void <a class="el" href="a00177.html#ab4f99743d64306ef318f39a9bdc59d20">Tp::Client::ConnectionInterfaceContactListInterface::ContactsChanged</a> </td>
1155
 
          <td>(</td>
1156
 
          <td class="paramtype">const <a class="el" href="a00210.html">Tp::ContactSubscriptionMap</a> &amp;&#160;</td>
1157
 
          <td class="paramname"><em>changes</em>, </td>
1158
 
        </tr>
1159
 
        <tr>
1160
 
          <td class="paramkey"></td>
1161
 
          <td></td>
1162
 
          <td class="paramtype">const <a class="el" href="a00414.html">Tp::UIntList</a> &amp;&#160;</td>
1163
 
          <td class="paramname"><em>removals</em>&#160;</td>
1164
 
        </tr>
1165
 
        <tr>
1166
 
          <td></td>
1167
 
          <td>)</td>
1168
 
          <td></td><td><code> [signal]</code></td>
1169
 
        </tr>
1170
 
      </table>
1171
 
</div>
1172
 
<div class="memdoc">
1173
 
<p>Represents the signal <code>ContactsChanged</code> on the remote object.</p>
1174
 
 
1175
 
 <p>Emitted immediately after
1176
 
     <a class="el" href="a00177.html#ae968799e729aff2d0c5d77946b62a54d">ContactsChangedWithID()</a>  , under the same
1177
 
   circumstances.</p>
1178
 
 
1179
 
 <p>If clients receive this signal without first receiving a
1180
 
   corresponding   <a class="el" href="a00177.html#ae968799e729aff2d0c5d77946b62a54d">ContactsChangedWithID()</a>  ,
1181
 
   they MUST assume that only this signal will be emitted.</p>
1182
 
 <dl class="params"><dt><b>Parameters:</b></dt><dd>
1183
 
  <table class="params">
1184
 
    <tr><td class="paramname">changes</td><td>The same as the corresponding argument to ContactsChangedWithID.</td></tr>
1185
 
    <tr><td class="paramname">removals</td><td>The same as the corresponding argument to ContactsChangedWithID, except that it only includes handles and not identifiers. </td></tr>
1186
 
  </table>
1187
 
  </dd>
1188
 
</dl>
1189
 
 
1190
 
</div>
1191
 
</div>
1192
 
<a class="anchor" id="abef53119d032bec10e74f408e7a2f1e8"></a><!-- doxytag: member="Tp::Client::ConnectionInterfaceContactListInterface::invalidate" ref="abef53119d032bec10e74f408e7a2f1e8" args="(Tp::DBusProxy *, const QString &amp;, const QString &amp;)" -->
1193
 
<div class="memitem">
1194
 
<div class="memproto">
1195
 
      <table class="memname">
1196
 
        <tr>
1197
 
          <td class="memname">void <a class="el" href="a00177.html#abef53119d032bec10e74f408e7a2f1e8">Tp::Client::ConnectionInterfaceContactListInterface::invalidate</a> </td>
1198
 
          <td>(</td>
1199
 
          <td class="paramtype"><a class="el" href="a00216.html">Tp::DBusProxy</a> *&#160;</td>
1200
 
          <td class="paramname"><em>proxy</em>, </td>
1201
 
        </tr>
1202
 
        <tr>
1203
 
          <td class="paramkey"></td>
1204
 
          <td></td>
1205
 
          <td class="paramtype">const QString &amp;&#160;</td>
1206
 
          <td class="paramname"><em>error</em>, </td>
1207
 
        </tr>
1208
 
        <tr>
1209
 
          <td class="paramkey"></td>
1210
 
          <td></td>
1211
 
          <td class="paramtype">const QString &amp;&#160;</td>
1212
 
          <td class="paramname"><em>message</em>&#160;</td>
1213
 
        </tr>
1214
 
        <tr>
1215
 
          <td></td>
1216
 
          <td>)</td>
1217
 
          <td></td><td><code> [protected, virtual]</code></td>
1218
 
        </tr>
1219
 
      </table>
1220
 
</div>
1221
 
<div class="memdoc">
1222
 
 
1223
 
<p>Reimplemented from <a class="el" href="a00037.html#a79dde56ba44455f47c7c354ada07467a">Tp::AbstractInterface</a>.</p>
1224
 
 
 
43
 
 
44
<p><code>#include &lt;<a class="el" href="a00856_source.html">TelepathyQt/Types</a>&gt;</code></p>
 
45
<table class="memberdecls">
 
46
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
 
47
Public Attributes</h2></td></tr>
 
48
<tr class="memitem:a8b7a7ad095bcb6ad847c67fac177f18c"><td class="memItemLeft" align="right" valign="top">QDBusObjectPath&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#a8b7a7ad095bcb6ad847c67fac177f18c">channel</a></td></tr>
 
49
<tr class="separator:a8b7a7ad095bcb6ad847c67fac177f18c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 
50
<tr class="memitem:a58ea2d20c6fd914c0c91327e44d87554"><td class="memItemLeft" align="right" valign="top">QVariantMap&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#a58ea2d20c6fd914c0c91327e44d87554">properties</a></td></tr>
 
51
<tr class="separator:a58ea2d20c6fd914c0c91327e44d87554"><td class="memSeparator" colspan="2">&#160;</td></tr>
 
52
</table>
 
53
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 
54
<div class="textblock"><p>Structure type generated from the specification.</p>
 
55
<p>Enough details of a channel that clients can work out how to dispatch or handle it. </p>
 
56
</div><h2 class="groupheader">Member Data Documentation</h2>
 
57
<a class="anchor" id="a8b7a7ad095bcb6ad847c67fac177f18c"></a>
 
58
<div class="memitem">
 
59
<div class="memproto">
 
60
      <table class="memname">
 
61
        <tr>
 
62
          <td class="memname">QDBusObjectPath Tp::ChannelDetails::channel</td>
 
63
        </tr>
 
64
      </table>
 
65
</div><div class="memdoc">
 
66
<p>The object path of the channel. </p>
 
67
 
 
68
</div>
 
69
</div>
 
70
<a class="anchor" id="a58ea2d20c6fd914c0c91327e44d87554"></a>
 
71
<div class="memitem">
 
72
<div class="memproto">
 
73
      <table class="memname">
 
74
        <tr>
 
75
          <td class="memname">QVariantMap Tp::ChannelDetails::properties</td>
 
76
        </tr>
 
77
      </table>
 
78
</div><div class="memdoc">
 
79
 
 
80
<p>Properties of the channel.</p>
 
81
 
 
82
<p>Connection managers MUST NOT include properties in this mapping
 
83
  if their values can change. Clients MUST ignore properties
 
84
  that appear in this mapping if their values can change.</p>
 
85
 
 
86
<div class="rationale">
 
87
  <p>If properties that could change were included, the following
 
88
    race condition would be likely to exist in some cases:</p>
 
89
 
 
90
  <ul>
 
91
    <li>NewChannels or Get(&quot;Channels&quot;) includes a property P with
 
92
      value V1</li>
 
93
    <li>Client creates a proxy object for the channel</li>
 
94
    <li>The value of P changes to V2</li>
 
95
    <li>Client connects to PChanged signal</li>
 
96
    <li>Client should call Get(&quot;P&quot;) or GetAll here, to avoid the
 
97
      race, but client's author has forgotten to do so</li>
 
98
    <li>Proxy object thinks P == V1, but actually P == V2</li>
 
99
  </ul>
 
100
 
 
101
  <p>We've taken the opportunity to make the API encourage the
 
102
    client author to get it right. Where possible, we intend that
 
103
    properties whose value will be used in channel dispatching
 
104
    or other &quot;early&quot; processing will be defined so that they are
 
105
    immutable (can never change).</p>
 
106
</div>
 
107
 
 
108
<p>Each dictionary MUST contain the keys
 
109
    <a class="el" href="">ChannelInterface::ChannelType </a>  ,
 
110
    <a class="el" href="">ChannelInterface::TargetHandleType </a>  ,
 
111
    <a class="el" href="">ChannelInterface::TargetHandle </a>  ,
 
112
    <a class="el" href="">ChannelInterface::TargetID </a>  
 
113
  and
 
114
    <a class="el" href="">ChannelInterface::Requested </a>  .
 
115
</p>
 
116
 
 
117
<div class="rationale">
 
118
  <p>We expect these to be crucial to the channel-dispatching
 
119
    process.</p>
 
120
</div>
 
121
 
1225
122
</div>
1226
123
</div>
1227
124
</div><!-- contents -->
1228
125
<p /><address><hr /><div align="center">
1229
126
<table width="100%" cellspacing="0" border="0"><tr class="address">
1230
127
<td width="30%">Copyright &copy; 2008-2011 Collabora Ltd. and Nokia Corporation</td>
1231
 
<td width="30%" align="right"><div align="right">Telepathy-Qt 0.9.3</div></td>
 
128
<td width="30%" align="right"><div align="right">Telepathy-Qt 0.9.6.1</div></td>
1232
129
</tr></table></div></address>
1233
130
</body>
1234
131
</html>