summaryrefslogtreecommitdiff
path: root/spec/errors.xml
blob: 60a93c95c746674b4b8f2151d063a1cf1d26c59c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
<?xml version="1.0" ?>
<tp:errors xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" namespace="org.freedesktop.Telepathy.Error">

  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
    <p>The D-Bus errors used in Telepathy all start with
      <code>org.freedesktop.Telepathy.Error.</code>. They are used in
      D-Bus messages of type ERROR, and also as plain strings annotated with
      the <tp:type>DBus_Error_Name</tp:type> type.</p>

    <p>In principle, any method can raise any error (this is a general fact
      of IPC). For instance, generic D-Bus errors starting with
      <code>org.freedesktop.DBus.Error.</code> will occur in some
      situations.</p>

    <p>Telepathy methods can also raise implementation-specific errors to
      indicate specialized failure conditions. For better interoperability,
      if a suitable Telepathy error exists, it should be preferred.</p>

    <p>The namespace <code>org.freedesktop.Telepathy.Qt4.Error.</code>
      is reserved for use by the D-Bus client implementation in telepathy-qt4,
      which uses it to represent certain error situations that did not involve
      a D-Bus ERROR message. These errors are defined and documented as part of
      telepathy-qt4's C++ API, and should not be used on D-Bus.</p>
  </tp:docstring>

  <tp:error name="Network Error">
    <tp:docstring>
    Raised when there is an error reading from or writing to the network.
    </tp:docstring>
  </tp:error>

  <tp:error name="Not Implemented">
    <tp:docstring>
    Raised when the requested method, channel, etc is not available on this connection.
    </tp:docstring>
  </tp:error>

  <tp:error name="Invalid Argument">
    <tp:docstring>
    Raised when one of the provided arguments is invalid.
    </tp:docstring>
  </tp:error>

  <tp:error name="Not Available">
    <tp:docstring>
    Raised when the requested functionality is temporarily unavailable.
    </tp:docstring>
  </tp:error>

  <tp:error name="Permission Denied">
    <tp:docstring>
    The user is not permitted to perform the requested operation.
    </tp:docstring>
  </tp:error>

  <tp:error name="Disconnected">
    <tp:docstring>
      The connection is not currently connected and cannot be used.
      This error may also be raised when operations are performed on a
      Connection for which
      <tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection">StatusChanged</tp:dbus-ref>
      has signalled status Disconnected for reason None.

      <tp:rationale>
        The second usage corresponds to None in the
        <tp:type>Connection_Status_Reason</tp:type> enum; if a better reason
        is available, the corresponding error should be used instead.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Invalid Handle">
    <tp:docstring>
    The handle specified is unknown on this channel or connection.
    </tp:docstring>
  </tp:error>

  <tp:error name="Channel.Banned">
    <tp:docstring>
    You are banned from the channel.
    </tp:docstring>
  </tp:error>

  <tp:error name="Channel.Full">
    <tp:docstring>
    The channel is full.
    </tp:docstring>
  </tp:error>

  <tp:error name="Channel.Invite Only">
    <tp:docstring>
    The requested channel is invite-only.
    </tp:docstring>
  </tp:error>

  <tp:error name="Not Yours">
    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
      <p>The requested channel or other resource already exists, and another
        user interface in this session is responsible for it.</p>

      <p>User interfaces SHOULD handle this error unobtrusively, since it
        indicates that some other user interface is already processing the
        channel.</p>
    </tp:docstring>
  </tp:error>

  <tp:error name="Cancelled">
    <tp:docstring>
      Raised by an ongoing request if it is cancelled by user request before
      it has completed, or when operations are performed on an object which
      the user has asked to close (for instance, a Connection where the user
      has called Disconnect, or a Channel where the user has called Close).

      <tp:rationale>
        The second form can be used to correspond to the Requested member in
        the <tp:type>Connection_Status_Reason</tp:type> enum, or to
        to represent the situation where disconnecting a Connection,
        closing a Channel, etc. has been requested by the user but this
        request has not yet been acted on, for instance because the
        service will only act on the request when it has finished processing
        an event queue.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Authentication Failed">
    <tp:docstring>
      Raised when authentication with a service was unsuccessful.
      <tp:rationale>
        This corresponds to Authentication_Failed in the
        <tp:type>Connection_Status_Reason</tp:type> enum.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Encryption Not Available">
    <tp:docstring>
      Raised if a user request insisted that encryption should be used,
      but encryption was not actually available.

      <tp:rationale>
        This corresponds to part of Encryption_Error in the
        <tp:type>Connection_Status_Reason</tp:type> enum. It's been separated
        into a distinct error here because the two concepts that were part
        of EncryptionError seem to be things that could reasonably appear
        differently in the UI.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Encryption Error">
    <tp:docstring>
      Raised if encryption appears to be available, but could not actually be
      used (for instance if SSL/TLS negotiation fails).
      <tp:rationale>
        This corresponds to part of Encryption_Error in the
        <tp:type>Connection_Status_Reason</tp:type> enum.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Cert.Not Provided">
    <tp:docstring>
      Raised if the server did not provide a SSL/TLS certificate. This error
      MUST NOT be used to represent the absence of a client certificate
      provided by the Telepathy connection manager.
      <tp:rationale>
        This corresponds to Cert_Not_Provided in the
        <tp:type>Connection_Status_Reason</tp:type> enum. That error
        explicitly applied only to server SSL certificates, so this one
        is similarly limited; having the CM present a client certificate
        is a possible future feature, but it should have its own error
        handling.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Cert.Untrusted">
    <tp:docstring>
      Raised if the server provided a SSL/TLS certificate signed by an
      untrusted certifying authority. This error SHOULD NOT be used to
      represent a self-signed certificate: see the Self Signed error for that.
      <tp:rationale>
        This corresponds to Cert_Untrusted in the
        <tp:type>Connection_Status_Reason</tp:type> enum, with a clarification
        to avoid ambiguity.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Cert.Expired">
    <tp:docstring>
      Raised if the server provided an expired SSL/TLS certificate.
      <tp:rationale>
        This corresponds to Cert_Expired in the
        <tp:type>Connection_Status_Reason</tp:type> enum.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Cert.Not Activated">
    <tp:docstring>
      Raised if the server provided an SSL/TLS certificate that will become
      valid at some point in the future.
      <tp:rationale>
        This corresponds to Cert_Not_Activated in the
        <tp:type>Connection_Status_Reason</tp:type> enum.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Cert.Fingerprint Mismatch">
    <tp:docstring>
      Raised if the server provided an SSL/TLS certificate that did not have
      the expected fingerprint.
      <tp:rationale>
        This corresponds to Cert_Fingerprint_Mismatch in the
        <tp:type>Connection_Status_Reason</tp:type> enum.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Cert.Hostname Mismatch">
    <tp:docstring>
      Raised if the server provided an SSL/TLS certificate that did not match
      its hostname.
      <tp:rationale>
        This corresponds to Cert_Hostname_Mismatch in the
        <tp:type>Connection_Status_Reason</tp:type> enum.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Cert.Self Signed">
    <tp:docstring>
      Raised if the server provided an SSL/TLS certificate that is self-signed
      and untrusted.
      <tp:rationale>
        This corresponds to Cert_Hostname_Mismatch in the
        <tp:type>Connection_Status_Reason</tp:type> enum.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Cert.Invalid">
    <tp:docstring>
      Raised if the server provided an SSL/TLS certificate that is
      unacceptable in some way that does not have a more specific error.
      <tp:rationale>
        This corresponds to Cert_Other_Error in the
        <tp:type>Connection_Status_Reason</tp:type> enum.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Not Capable">
    <tp:docstring>
    Raised when requested functionality is unavailable due to contact
    not having required capabilities.
    </tp:docstring>
  </tp:error>

  <tp:error name="Offline">
    <tp:docstring>
      Raised when requested functionality is unavailable because a contact is
      offline.

      <tp:rationale>
        This corresponds to Offline in the
        <tp:type>Channel_Group_Change_Reason</tp:type> enum.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Channel.Kicked">
    <tp:docstring>
      Used to represent a user being ejected from a channel by another user,
      for instance being kicked from a chatroom.

      <tp:rationale>
        This corresponds to Kicked in the
        <tp:type>Channel_Group_Change_Reason</tp:type> enum.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Busy">
    <tp:docstring>
      Used to represent a user being removed from a channel because of a
      "busy" indication. This error SHOULD NOT be used to represent a server
      or other infrastructure being too busy to process a request - for that,
      see ServerBusy.

      <tp:rationale>
        This corresponds to Busy in the
        <tp:type>Channel_Group_Change_Reason</tp:type> enum.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="No Answer">
    <tp:docstring>
      Used to represent a user being removed from a channel because they did
      not respond, e.g. to a StreamedMedia call.

      <tp:rationale>
        This corresponds to No_Answer in the
        <tp:type>Channel_Group_Change_Reason</tp:type> enum.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Does Not Exist">
    <tp:docstring>
      Raised when the requested user does not, in fact, exist.

      <tp:rationale>
        This corresponds to Invalid_Contact in the
        <tp:type>Channel_Group_Change_Reason</tp:type> enum, but can also be
        used to represent other things not existing (like chatrooms, perhaps).
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Terminated">
    <tp:docstring>
      Raised when a channel is terminated for an unspecified reason. In
      particular, this error SHOULD be used whenever normal termination of
      a 1-1 StreamedMedia call by the remote user is represented as a D-Bus
      error name.

      <tp:rationale>
        This corresponds to None in the
        <tp:type>Channel_Group_Change_Reason</tp:type> enum.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Connection Refused">
    <tp:docstring>
      Raised when a connection is refused.
    </tp:docstring>
  </tp:error>

  <tp:error name="Connection Failed">
    <tp:docstring>
      Raised when a connection can't be established.
    </tp:docstring>
  </tp:error>

  <tp:error name="Connection Lost">
    <tp:docstring>
      Raised when a connection is broken.
    </tp:docstring>
  </tp:error>

  <tp:error name="Already Connected">
    <tp:docstring>
      Raised when the user attempts to connect to an account but they are
      already connected (perhaps from another client or computer), and the
      protocol or account settings do not allow this.

      <tp:rationale>
        XMPP can have this behaviour if the user chooses the same resource
        in both clients (it is server-dependent whether the result is
        AlreadyConnected on the new connection, ConnectionReplaced on the
        old connection, or two successful connections).
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Connection Replaced">
    <tp:docstring>
      Raised by an existing connection to an account if it is replaced by
      a new connection (perhaps from another client or computer).

      <tp:rationale>
        In MSNP, when connecting twice with the same Passport, the new
        connection "wins" and the old one is automatically disconnected.
        XMPP can also have this behaviour if the user chooses the same
        resource in two clients (it is server-dependent whether the result is
        AlreadyConnected on the new connection, ConnectionReplaced on the
        old connection, or two successful connections).
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Registration Exists">
    <tp:docstring>
      Raised during in-band registration if the server indicates that the
      requested account already exists.
    </tp:docstring>
  </tp:error>

  <tp:error name="Service Busy">
    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
      Raised if a server or some other piece of infrastructure cannot process
      the request, e.g. due to resource limitations. Clients MAY try again
      later.

      <tp:rationale>
        This is not the same error as Busy, which indicates that a
        <em>user</em> is busy.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Resource Unavailable">
    <tp:docstring>
      Raised if a request cannot be satisfied because a process local to the
      user has insufficient resources. Clients MAY try again
      later.

      <tp:rationale>
        For instance, the <tp:dbus-ref
          namespace="org.freedesktop.Telepathy">ChannelDispatcher</tp:dbus-ref>
        might raise this error for some or all channel requests if it has
        detected that there is not enough free memory.
      </tp:rationale>
    </tp:docstring>
  </tp:error>

  <tp:error name="Would Break Anonymity">
    <tp:added version="0.19.7"/>
    <tp:docstring>
      Raised if a request cannot be satisfied without violating an earlier
      request for anonymity, and the earlier request specified that raising
      an error is preferable to disclosing the user's identity (for instance
      via <tp:dbus-ref namespace="org.freedesktop.Telepathy"
        >Connection.Interface.Anonymity.AnonymityMandatory</tp:dbus-ref> or
      <tp:dbus-ref namespace="org.freedesktop.Telepathy"
        >Channel.Interface.Anonymity.AnonymityMandatory</tp:dbus-ref>).
    </tp:docstring>
  </tp:error>

  <tp:copyright>Copyright © 2005-2010 Collabora Limited</tp:copyright>
  <tp:copyright>Copyright © 2005-2009 Nokia Corporation</tp:copyright>
  <tp:license xmlns="http://www.w3.org/1999/xhtml">
<p>This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.</p>

<p>This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.</p>

<p>You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</p>
  </tp:license>
</tp:errors>