1"""
2Some handy constants for other tests to share and enjoy.
3"""
4
5from dbus import PROPERTIES_IFACE
6
7CM = "org.freedesktop.Telepathy.ConnectionManager"
8
9HT_NONE = 0
10HT_CONTACT = 1
11HT_ROOM = 2
12HT_LIST = 3
13HT_GROUP = 4
14
15CHANNEL = "org.freedesktop.Telepathy.Channel"
16
17CHANNEL_IFACE_CALL_STATE = CHANNEL + ".Interface.CallState"
18CHANNEL_IFACE_CHAT_STATE = CHANNEL + '.Interface.ChatState'
19CHANNEL_IFACE_DESTROYABLE = CHANNEL + ".Interface.Destroyable"
20CHANNEL_IFACE_DTMF = CHANNEL + ".Interface.DTMF"
21CHANNEL_IFACE_GROUP = CHANNEL + ".Interface.Group"
22CHANNEL_IFACE_HOLD = CHANNEL + ".Interface.Hold"
23CHANNEL_IFACE_MEDIA_SIGNALLING = CHANNEL + ".Interface.MediaSignalling"
24CHANNEL_IFACE_MESSAGES = CHANNEL + ".Interface.Messages"
25CHANNEL_IFACE_PASSWORD = CHANNEL + ".Interface.Password"
26CHANNEL_IFACE_TUBE = CHANNEL + ".Interface.Tube"
27CHANNEL_IFACE_SASL_AUTH = CHANNEL + ".Interface.SASLAuthentication"
28CHANNEL_IFACE_CONFERENCE = CHANNEL + '.Interface.Conference'
29CHANNEL_IFACE_ROOM = CHANNEL + '.Interface.Room2'
30CHANNEL_IFACE_ROOM_CONFIG = CHANNEL + '.Interface.RoomConfig1'
31CHANNEL_IFACE_SUBJECT = CHANNEL + '.Interface.Subject2'
32CHANNEL_IFACE_FILE_TRANSFER_METADATA = CHANNEL + '.Interface.FileTransfer.Metadata'
33
34CHANNEL_TYPE_CALL = CHANNEL + ".Type.Call1"
35CHANNEL_TYPE_CONTACT_LIST = CHANNEL + ".Type.ContactList"
36CHANNEL_TYPE_CONTACT_SEARCH = CHANNEL + ".Type.ContactSearch"
37CHANNEL_TYPE_TEXT = CHANNEL + ".Type.Text"
38CHANNEL_TYPE_TUBES = CHANNEL + ".Type.Tubes"
39CHANNEL_TYPE_STREAM_TUBE = CHANNEL + ".Type.StreamTube"
40CHANNEL_TYPE_DBUS_TUBE = CHANNEL + ".Type.DBusTube"
41CHANNEL_TYPE_STREAMED_MEDIA = CHANNEL + ".Type.StreamedMedia"
42CHANNEL_TYPE_TEXT = CHANNEL + ".Type.Text"
43CHANNEL_TYPE_FILE_TRANSFER = CHANNEL + ".Type.FileTransfer"
44CHANNEL_TYPE_SERVER_AUTHENTICATION = \
45    CHANNEL + ".Type.ServerAuthentication"
46CHANNEL_TYPE_SERVER_TLS_CONNECTION = \
47    CHANNEL + ".Type.ServerTLSConnection"
48
49TP_AWKWARD_PROPERTIES = "org.freedesktop.Telepathy.Properties"
50PROPERTY_FLAG_READ = 1
51PROPERTY_FLAG_WRITE = 2
52PROPERTY_FLAGS_RW = PROPERTY_FLAG_READ | PROPERTY_FLAG_WRITE
53
54CHANNEL_TYPE = CHANNEL + '.ChannelType'
55TARGET_HANDLE_TYPE = CHANNEL + '.TargetHandleType'
56TARGET_HANDLE = CHANNEL + '.TargetHandle'
57TARGET_ID = CHANNEL + '.TargetID'
58REQUESTED = CHANNEL + '.Requested'
59INITIATOR_HANDLE = CHANNEL + '.InitiatorHandle'
60INITIATOR_ID = CHANNEL + '.InitiatorID'
61INTERFACES = CHANNEL + '.Interfaces'
62
63INITIAL_AUDIO = CHANNEL_TYPE_STREAMED_MEDIA + '.InitialAudio'
64INITIAL_VIDEO = CHANNEL_TYPE_STREAMED_MEDIA + '.InitialVideo'
65IMMUTABLE_STREAMS = CHANNEL_TYPE_STREAMED_MEDIA + '.ImmutableStreams'
66
67CALL_INITIAL_AUDIO = CHANNEL_TYPE_CALL + '.InitialAudio'
68CALL_INITIAL_AUDIO_NAME = CHANNEL_TYPE_CALL + '.InitialAudioName'
69CALL_INITIAL_VIDEO = CHANNEL_TYPE_CALL + '.InitialVideo'
70CALL_INITIAL_VIDEO_NAME = CHANNEL_TYPE_CALL + '.InitialVideoName'
71CALL_MUTABLE_CONTENTS = CHANNEL_TYPE_CALL + '.MutableContents'
72
73CALL_CONTENT = 'org.freedesktop.Telepathy.Call1.Content'
74CALL_CONTENT_IFACE_MEDIA = \
75    'org.freedesktop.Telepathy.Call1.Content.Interface.Media'
76CALL_CONTENT_IFACE_DTMF = \
77    'org.freedesktop.Telepathy.Call1.Content.Interface.DTMF'
78
79CALL_CONTENT_MEDIADESCRIPTION = \
80    'org.freedesktop.Telepathy.Call1.Content.MediaDescription'
81
82CALL_STREAM = 'org.freedesktop.Telepathy.Call1.Stream'
83CALL_STREAM_IFACE_MEDIA = \
84    'org.freedesktop.Telepathy.Call1.Stream.Interface.Media'
85
86CALL_STREAM_ENDPOINT = 'org.freedesktop.Telepathy.Call1.Stream.Endpoint'
87
88CALL_MEDIA_TYPE_AUDIO = 0
89CALL_MEDIA_TYPE_VIDEO = 1
90
91CALL_CONTENT_PACKETIZATION_RTP = 0
92CALL_CONTENT_PACKETIZATION_RAW = 1
93CALL_CONTENT_PACKETIZATION_MSN_WEBCAM = 2
94
95CALL_STREAM_TRANSPORT_UNKNOWN = 0
96CALL_STREAM_TRANSPORT_RAW_UDP = 1
97CALL_STREAM_TRANSPORT_ICE = 2
98CALL_STREAM_TRANSPORT_GTALK_P2P = 3
99CALL_STREAM_TRANSPORT_WLM_2009 = 4
100CALL_STREAM_TRANSPORT_SHM = 5
101CALL_STREAM_TRANSPORT_MULTICAST = 6
102
103#for streamed media
104CALL_STATE_RINGING = 1
105CALL_STATE_HELD = 4
106
107CALL_STATE_UNKNOWN = 0,
108CALL_STATE_PENDING_INITIATOR = 1
109CALL_STATE_INITIALISING = 2
110CALL_STATE_INITIALISED = 3
111CALL_STATE_ACCEPTED = 4
112CALL_STATE_ACTIVE = 5
113CALL_STATE_ENDED = 6
114
115CALL_FLAG_LOCALLY_HELD = 1
116CALL_FLAG_LOCALLY_RINGING = 2
117CALL_FLAG_LOCALLY_QUEUED = 4
118CALL_FLAG_FORWARDED = 8
119CALL_FLAG_CLEARING = 16
120
121CALL_MEMBER_FLAG_RINGING = 1
122CALL_MEMBER_FLAG_HELD = 2
123
124CALL_DISPOSITION_NONE = 0
125CALL_DISPOSITION_INITIAL = 1
126
127CALL_SENDING_STATE_NONE = 0
128CALL_SENDING_STATE_PENDING_SEND = 1
129CALL_SENDING_STATE_SENDING = 2
130CALL_SENDING_STATE_PENDING_STOP_SENDING = 3
131
132CALL_STREAM_FLOW_STATE_STOPPED = 0
133CALL_STREAM_FLOW_STATE_PENDING_START = 1
134CALL_STREAM_FLOW_STATE_PENDING_STOP = 2
135CALL_STREAM_FLOW_STATE_STARTED = 3
136
137CALL_STREAM_ENDPOINT_STATE_CONNECTING = 0
138CALL_STREAM_ENDPOINT_STATE_PROVISIONALLY_CONNECTED = 1
139CALL_STREAM_ENDPOINT_STATE_FULLY_CONNECTED = 2
140CALL_STREAM_ENDPOINT_STATE_EXHAUSTED_CANDIDATES = 3
141CALL_STREAM_ENDPOINT_STATE_FAILED = 4
142
143CALL_STREAM_CANDIDATE_TYPE_HOST = 1
144CALL_STREAM_CANDIDATE_TYPE_SERVER_REFLEXIVE = 2
145CALL_STREAM_CANDIDATE_TYPE_RELAY = 4
146
147CALL_STATE_CHANGE_REASON_UNKNOWN = 0
148CALL_STATE_CHANGE_REASON_PROGRESS_MADE = 1
149CALL_STATE_CHANGE_REASON_USER_REQUESTED = 2
150CALL_STATE_CHANGE_REASON_FORWARDED = 3
151CALL_STATE_CHANGE_REASON_REJECTED = 4
152CALL_STATE_CHANGE_REASON_NO_ANSWER = 5
153CALL_STATE_CHANGE_REASON_INVALID_CONTACT = 6
154CALL_STATE_CHANGE_REASON_PERMISSION_DENIED = 7
155CALL_STATE_CHANGE_REASON_BUSY = 8
156CALL_STATE_CHANGE_REASON_INTERNAL_ERROR = 9
157CALL_STATE_CHANGE_REASON_SERVICE_ERROR = 10
158CALL_STATE_CHANGE_REASON_NETWORK_ERROR = 11
159CALL_STATE_CHANGE_REASON_MEDIA_ERROR = 12
160CALL_STATE_CHANGE_REASON_CONNECTIVITY_ERROR = 13
161
162CALL_STREAM_COMPONENT_UNKNOWN = 0
163CALL_STREAM_COMPONENT_DATA = 1
164CALL_STREAM_COMPONENT_CONTROL = 2
165
166SUBSCRIPTION_STATE_UNKNOWN = 0
167SUBSCRIPTION_STATE_NO = 1
168SUBSCRIPTION_STATE_REMOVED_REMOTELY = 2
169SUBSCRIPTION_STATE_ASK = 3
170SUBSCRIPTION_STATE_YES = 4
171
172CONTACT_LIST_STATE_NONE = 0
173CONTACT_LIST_STATE_WAITING = 1
174CONTACT_LIST_STATE_FAILURE = 2
175CONTACT_LIST_STATE_SUCCESS = 3
176
177CONN = "org.freedesktop.Telepathy.Connection"
178CONN_IFACE_AVATARS = CONN + '.Interface.Avatars'
179CONN_IFACE_ALIASING = CONN + '.Interface.Aliasing'
180CONN_IFACE_CAPS = CONN + '.Interface.Capabilities'
181CONN_IFACE_CONTACTS = CONN + '.Interface.Contacts'
182CONN_IFACE_CONTACT_CAPS = CONN + '.Interface.ContactCapabilities'
183CONN_IFACE_CONTACT_INFO = CONN + ".Interface.ContactInfo"
184CONN_IFACE_PRESENCE = CONN + '.Interface.Presence'
185CONN_IFACE_SIMPLE_PRESENCE = CONN + '.Interface.SimplePresence'
186CONN_IFACE_REQUESTS = CONN + '.Interface.Requests'
187CONN_IFACE_LOCATION = CONN + '.Interface.Location'
188CONN_IFACE_GABBLE_DECLOAK = CONN + '.Interface.Gabble.Decloak'
189CONN_IFACE_MAIL_NOTIFICATION = CONN + '.Interface.MailNotification'
190CONN_IFACE_CONTACT_LIST = CONN + '.Interface.ContactList'
191CONN_IFACE_CONTACT_GROUPS = CONN + '.Interface.ContactGroups'
192CONN_IFACE_CLIENT_TYPES = CONN + '.Interface.ClientTypes'
193CONN_IFACE_POWER_SAVING = CONN + '.Interface.PowerSaving'
194CONN_IFACE_CONTACT_BLOCKING = CONN + '.Interface.ContactBlocking'
195CONN_IFACE_ADDRESSING = CONN + '.Interface.Addressing1'
196
197ATTR_CONTACT_CAPABILITIES = CONN_IFACE_CONTACT_CAPS + '/capabilities'
198
199STREAM_HANDLER = 'org.freedesktop.Telepathy.Media.StreamHandler'
200
201ERROR = 'org.freedesktop.Telepathy.Error'
202INVALID_ARGUMENT = ERROR + '.InvalidArgument'
203NOT_IMPLEMENTED = ERROR + '.NotImplemented'
204NOT_AVAILABLE = ERROR + '.NotAvailable'
205PERMISSION_DENIED = ERROR + '.PermissionDenied'
206OFFLINE = ERROR + '.Offline'
207NOT_CAPABLE = ERROR + '.NotCapable'
208CONNECTION_REFUSED = ERROR + '.ConnectionRefused'
209CONNECTION_FAILED = ERROR + '.ConnectionFailed'
210CONNECTION_LOST = ERROR + '.ConnectionLost'
211CANCELLED = ERROR + '.Cancelled'
212DISCONNECTED = ERROR + '.Disconnected'
213REGISTRATION_EXISTS = ERROR + '.RegistrationExists'
214AUTHENTICATION_FAILED = ERROR + '.AuthenticationFailed'
215CONNECTION_REPLACED = ERROR + '.ConnectionReplaced'
216ALREADY_CONNECTED = ERROR + '.AlreadyConnected'
217NETWORK_ERROR = ERROR + '.NetworkError'
218NOT_YET = ERROR + '.NotYet'
219INVALID_HANDLE = ERROR + '.InvalidHandle'
220CERT_UNTRUSTED = ERROR + '.Cert.Untrusted'
221SERVICE_BUSY = ERROR + '.ServiceBusy'
222SERVICE_CONFUSED = ERROR + '.ServiceConfused'
223
224BANNED = ERROR + '.Channel.Banned'
225
226UNKNOWN_METHOD = 'org.freedesktop.DBus.Error.UnknownMethod'
227
228TUBE_PARAMETERS = CHANNEL_IFACE_TUBE + '.Parameters'
229TUBE_STATE = CHANNEL_IFACE_TUBE + '.State'
230STREAM_TUBE_SERVICE = CHANNEL_TYPE_STREAM_TUBE + '.Service'
231DBUS_TUBE_SERVICE_NAME = CHANNEL_TYPE_DBUS_TUBE + '.ServiceName'
232DBUS_TUBE_DBUS_NAMES = CHANNEL_TYPE_DBUS_TUBE + '.DBusNames'
233DBUS_TUBE_SUPPORTED_ACCESS_CONTROLS = CHANNEL_TYPE_DBUS_TUBE + '.SupportedAccessControls'
234STREAM_TUBE_SUPPORTED_SOCKET_TYPES = CHANNEL_TYPE_STREAM_TUBE + '.SupportedSocketTypes'
235
236CONFERENCE_INITIAL_CHANNELS = CHANNEL_IFACE_CONFERENCE + '.InitialChannels'
237CONFERENCE_INITIAL_INVITEE_HANDLES = CHANNEL_IFACE_CONFERENCE + '.InitialInviteeHandles'
238CONFERENCE_INITIAL_INVITEE_IDS = CHANNEL_IFACE_CONFERENCE + '.InitialInviteeIDs'
239
240CONTACT_SEARCH_ASK = CHANNEL_TYPE_CONTACT_SEARCH + '.AvailableSearchKeys'
241CONTACT_SEARCH_SERVER = CHANNEL_TYPE_CONTACT_SEARCH + '.Server'
242CONTACT_SEARCH_STATE = CHANNEL_TYPE_CONTACT_SEARCH + '.SearchState'
243
244SEARCH_NOT_STARTED = 0
245SEARCH_IN_PROGRESS = 1
246SEARCH_MORE_AVAILABLE = 2
247SEARCH_COMPLETED = 3
248SEARCH_FAILED = 4
249
250TUBE_CHANNEL_STATE_LOCAL_PENDING = 0
251TUBE_CHANNEL_STATE_REMOTE_PENDING = 1
252TUBE_CHANNEL_STATE_OPEN = 2
253TUBE_CHANNEL_STATE_NOT_OFFERED = 3
254
255MEDIA_STREAM_TYPE_AUDIO = 0
256MEDIA_STREAM_TYPE_VIDEO = 1
257
258MEDIA_STREAM_BASE_PROTO_UDP = 0
259MEDIA_STREAM_BASE_PROTO_TCP = 1
260
261MEDIA_STREAM_TRANSPORT_TYPE_LOCAL = 0
262MEDIA_STREAM_TRANSPORT_TYPE_DERIVED = 1
263MEDIA_STREAM_TRANSPORT_TYPE_RELAY = 2
264
265SOCKET_ADDRESS_TYPE_UNIX = 0
266SOCKET_ADDRESS_TYPE_ABSTRACT_UNIX = 1
267SOCKET_ADDRESS_TYPE_IPV4 = 2
268SOCKET_ADDRESS_TYPE_IPV6 = 3
269
270SOCKET_ACCESS_CONTROL_LOCALHOST = 0
271SOCKET_ACCESS_CONTROL_PORT = 1
272SOCKET_ACCESS_CONTROL_NETMASK = 2
273SOCKET_ACCESS_CONTROL_CREDENTIALS = 3
274
275TUBE_STATE_LOCAL_PENDING = 0
276TUBE_STATE_REMOTE_PENDING = 1
277TUBE_STATE_OPEN = 2
278TUBE_STATE_NOT_OFFERED = 3
279
280TUBE_TYPE_DBUS = 0
281TUBE_TYPE_STREAM = 1
282
283MEDIA_STREAM_DIRECTION_NONE = 0
284MEDIA_STREAM_DIRECTION_SEND = 1
285MEDIA_STREAM_DIRECTION_RECEIVE = 2
286MEDIA_STREAM_DIRECTION_BIDIRECTIONAL = 3
287
288MEDIA_STREAM_PENDING_LOCAL_SEND = 1
289MEDIA_STREAM_PENDING_REMOTE_SEND = 2
290
291MEDIA_STREAM_TYPE_AUDIO = 0
292MEDIA_STREAM_TYPE_VIDEO = 1
293
294MEDIA_STREAM_STATE_DISCONNECTED = 0
295MEDIA_STREAM_STATE_CONNECTING = 1
296MEDIA_STREAM_STATE_CONNECTED = 2
297
298MEDIA_STREAM_DIRECTION_NONE = 0
299MEDIA_STREAM_DIRECTION_SEND = 1
300MEDIA_STREAM_DIRECTION_RECEIVE = 2
301MEDIA_STREAM_DIRECTION_BIDIRECTIONAL = 3
302
303FT_STATE_NONE = 0
304FT_STATE_PENDING = 1
305FT_STATE_ACCEPTED = 2
306FT_STATE_OPEN = 3
307FT_STATE_COMPLETED = 4
308FT_STATE_CANCELLED = 5
309
310FT_STATE_CHANGE_REASON_NONE = 0
311FT_STATE_CHANGE_REASON_REQUESTED = 1
312FT_STATE_CHANGE_REASON_LOCAL_STOPPED = 2
313FT_STATE_CHANGE_REASON_REMOTE_STOPPED = 3
314FT_STATE_CHANGE_REASON_LOCAL_ERROR = 4
315FT_STATE_CHANGE_REASON_REMOTE_ERROR = 5
316
317FILE_HASH_TYPE_NONE = 0
318FILE_HASH_TYPE_MD5 = 1
319FILE_HASH_TYPE_SHA1 = 2
320FILE_HASH_TYPE_SHA256 = 3
321
322FT_STATE = CHANNEL_TYPE_FILE_TRANSFER + '.State'
323FT_CONTENT_TYPE = CHANNEL_TYPE_FILE_TRANSFER + '.ContentType'
324FT_FILENAME = CHANNEL_TYPE_FILE_TRANSFER + '.Filename'
325FT_SIZE = CHANNEL_TYPE_FILE_TRANSFER + '.Size'
326FT_CONTENT_HASH_TYPE = CHANNEL_TYPE_FILE_TRANSFER + '.ContentHashType'
327FT_CONTENT_HASH = CHANNEL_TYPE_FILE_TRANSFER + '.ContentHash'
328FT_DESCRIPTION = CHANNEL_TYPE_FILE_TRANSFER + '.Description'
329FT_DATE = CHANNEL_TYPE_FILE_TRANSFER + '.Date'
330FT_AVAILABLE_SOCKET_TYPES = CHANNEL_TYPE_FILE_TRANSFER + '.AvailableSocketTypes'
331FT_TRANSFERRED_BYTES = CHANNEL_TYPE_FILE_TRANSFER + '.TransferredBytes'
332FT_INITIAL_OFFSET = CHANNEL_TYPE_FILE_TRANSFER + '.InitialOffset'
333FT_FILE_COLLECTION = CHANNEL_TYPE_FILE_TRANSFER + '.FUTURE.FileCollection'
334FT_URI = CHANNEL_TYPE_FILE_TRANSFER + '.URI'
335FT_SERVICE_NAME = CHANNEL_IFACE_FILE_TRANSFER_METADATA + '.ServiceName'
336FT_METADATA = CHANNEL_IFACE_FILE_TRANSFER_METADATA + '.Metadata'
337
338GF_CAN_ADD = 1
339GF_CAN_REMOVE = 2
340GF_CAN_RESCIND = 4
341GF_MESSAGE_ADD = 8
342GF_MESSAGE_REMOVE = 16
343GF_MESSAGE_ACCEPT = 32
344GF_MESSAGE_REJECT = 64
345GF_MESSAGE_RESCIND = 128
346GF_CHANNEL_SPECIFIC_HANDLES = 256
347GF_ONLY_ONE_GROUP = 512
348GF_HANDLE_OWNERS_NOT_AVAILABLE = 1024
349GF_PROPERTIES = 2048
350GF_MEMBERS_CHANGED_DETAILED = 4096
351
352GC_REASON_NONE = 0
353GC_REASON_OFFLINE = 1
354GC_REASON_KICKED = 2
355GC_REASON_BUSY = 3
356GC_REASON_INVITED = 4
357GC_REASON_BANNED = 5
358GC_REASON_ERROR = 6
359GC_REASON_INVALID_CONTACT = 7
360GC_REASON_NO_ANSWER = 8
361GC_REASON_RENAMED = 9
362GC_REASON_PERMISSION_DENIED = 10
363GC_REASON_SEPARATED = 11
364
365HS_UNHELD = 0
366HS_HELD = 1
367HS_PENDING_HOLD = 2
368HS_PENDING_UNHOLD = 3
369
370HSR_NONE = 0
371HSR_REQUESTED = 1
372HSR_RESOURCE_NOT_AVAILABLE = 2
373
374CONN_STATUS_CONNECTED = 0
375CONN_STATUS_CONNECTING = 1
376CONN_STATUS_DISCONNECTED = 2
377
378CSR_NONE_SPECIFIED = 0
379CSR_REQUESTED = 1
380CSR_NETWORK_ERROR = 2
381CSR_AUTHENTICATION_FAILED = 3
382CSR_ENCRYPTION_ERROR = 4
383CSR_NAME_IN_USE = 5
384CSR_CERT_NOT_PROVIDED = 6
385CSR_CERT_UNTRUSTED = 7
386CSR_CERT_EXPIRED = 8
387CSR_CERT_NOT_ACTIVATED = 9
388CSR_CERT_HOSTNAME_MISMATCH = 10
389CSR_CERT_FINGERPRINT_MISMATCH = 11
390CSR_CERT_SELF_SIGNED = 12
391CSR_CERT_OTHER_ERROR = 13
392
393BUDDY_INFO = 'org.laptop.Telepathy.BuddyInfo'
394ACTIVITY_PROPERTIES = 'org.laptop.Telepathy.ActivityProperties'
395
396CHAT_STATE_GONE = 0
397CHAT_STATE_INACTIVE = 1
398CHAT_STATE_ACTIVE = 2
399CHAT_STATE_PAUSED = 3
400CHAT_STATE_COMPOSING = 4
401
402# Channel_Media_Capabilities
403MEDIA_CAP_AUDIO = 1
404MEDIA_CAP_VIDEO = 2
405MEDIA_CAP_STUN = 4
406MEDIA_CAP_GTALKP2P = 8
407MEDIA_CAP_ICEUDP = 16
408MEDIA_CAP_IMMUTABLE_STREAMS = 32
409
410CLIENT = 'org.freedesktop.Telepathy.Client'
411
412PRESENCE_OFFLINE = 1
413PRESENCE_AVAILABLE = 2
414PRESENCE_AWAY = 3
415PRESENCE_EXTENDED_AWAY = 4
416PRESENCE_HIDDEN = 5
417PRESENCE_BUSY = 6
418PRESENCE_UNKNOWN = 7
419PRESENCE_ERROR = 8
420
421CONTACT_INFO_FLAG_CAN_SET = 1
422CONTACT_INFO_FLAG_PUSH = 2
423CONTACT_INFO_FIELD_FLAG_PARAMETERS_EXACT = 1
424CONTACT_INFO_FIELD_FLAG_OVERWRITTEN_BY_NICKNAME = 2
425
426# Channel_Interface_SaslAuthentication
427SASL_STATUS_NOT_STARTED = 0
428SASL_STATUS_IN_PROGRESS = 1
429SASL_STATUS_SERVER_SUCCEEDED = 2
430SASL_STATUS_CLIENT_ACCEPTED = 3
431SASL_STATUS_SUCCEEDED = 4
432SASL_STATUS_SERVER_FAILED = 5
433SASL_STATUS_CLIENT_FAILED = 6
434
435SASL_ABORT_REASON_INVALID_CHALLENGE = 0
436SASL_ABORT_REASON_USER_ABORT = 1
437
438AUTH_METHOD = CHANNEL_TYPE_SERVER_AUTHENTICATION + ".AuthenticationMethod"
439SASL_AVAILABLE_MECHANISMS = CHANNEL_IFACE_SASL_AUTH + ".AvailableMechanisms"
440SASL_STATUS = CHANNEL_IFACE_SASL_AUTH + ".SASLStatus"
441SASL_ERROR = CHANNEL_IFACE_SASL_AUTH + ".SASLError"
442SASL_ERROR_DETAILS = CHANNEL_IFACE_SASL_AUTH + ".SASLErrorDetails"
443SASL_CONTEXT = CHANNEL_IFACE_SASL_AUTH + ".SASLContext"
444SASL_AUTHORIZATION_IDENTITY = CHANNEL_IFACE_SASL_AUTH + ".AuthorizationIdentity"
445SASL_DEFAULT_REALM = CHANNEL_IFACE_SASL_AUTH + ".DefaultRealm"
446SASL_DEFAULT_USERNAME = CHANNEL_IFACE_SASL_AUTH + ".DefaultUsername"
447
448# Channel_Type_ServerTLSConnection
449TLS_CERT_PATH = CHANNEL_TYPE_SERVER_TLS_CONNECTION + ".ServerCertificate"
450TLS_HOSTNAME = CHANNEL_TYPE_SERVER_TLS_CONNECTION + ".Hostname"
451TLS_REFERENCE_IDENTITIES = \
452    CHANNEL_TYPE_SERVER_TLS_CONNECTION + ".ReferenceIdentities"
453
454# Connection.Interface.Location
455
456LOCATION_FEATURE_CAN_SET = 1
457
458# Channel.Type.Text
459
460MT_NORMAL = 0
461MT_ACTION = 1
462MT_NOTICE = 2
463MT_AUTO_REPLY = 3
464MT_DELIVERY_REPORT = 4
465
466class MessageFlag(object):
467    TRUNCATED = 1
468    NON_TEXT_CONTENT = 2
469    SCROLLBACK = 4
470    RESCUED = 8
471
472class SendError(object):
473    UNKNOWN = 0
474    OFFLINE = 1
475    INVALID_CONTACT = 2
476    PERMISSION_DENIED = 3
477    TOO_LONG = 4
478    NOT_IMPLEMENTED = 5
479
480PROTOCOL = 'org.freedesktop.Telepathy.Protocol'
481PROTOCOL_IFACE_PRESENCES = PROTOCOL + '.Interface.Presence'
482PROTOCOL_IFACE_ADDRESSING = PROTOCOL + '.Interface.Addressing'
483
484PARAM_REQUIRED = 1
485PARAM_REGISTER = 2
486PARAM_HAS_DEFAULT = 4
487PARAM_SECRET = 8
488PARAM_DBUS_PROPERTY = 16
489
490AUTHENTICATION = 'org.freedesktop.Telepathy.Authentication'
491AUTH_TLS_CERT = AUTHENTICATION + ".TLSCertificate"
492
493TLS_CERT_STATE_PENDING = 0
494TLS_CERT_STATE_ACCEPTED = 1
495TLS_CERT_STATE_REJECTED = 2
496
497TLS_REJECT_REASON_UNKNOWN = 0
498TLS_REJECT_REASON_UNTRUSTED = 1
499
500# Channel.Interface.Messages
501
502MESSAGE_PART_SUPPORT_FLAGS = CHANNEL_IFACE_MESSAGES + '.MessagePartSupportFlags'
503DELIVERY_REPORTING_SUPPORT = CHANNEL_IFACE_MESSAGES + '.DeliveryReportingSupport'
504SUPPORTED_CONTENT_TYPES = CHANNEL_IFACE_MESSAGES + '.SupportedContentTypes'
505
506MSG_SENDING_FLAGS_REPORT_DELIVERY = 1
507MSG_SENDING_FLAGS_REPORT_READ = 2
508MSG_SENDING_FLAGS_REPORT_DELETED = 4
509
510DELIVERY_REPORTING_SUPPORT_FLAGS_RECEIVE_FAILURES = 1
511DELIVERY_REPORTING_SUPPORT_FLAGS_RECEIVE_SUCCESSES = 2
512DELIVERY_REPORTING_SUPPORT_FLAGS_RECEIVE_READ = 4
513DELIVERY_REPORTING_SUPPORT_FLAGS_RECEIVE_DELETED = 8
514
515DELIVERY_STATUS_UNKNOWN = 0
516DELIVERY_STATUS_DELIVERED = 1
517DELIVERY_STATUS_TEMPORARILY_FAILED = 2
518DELIVERY_STATUS_PERMANENTLY_FAILED = 3
519DELIVERY_STATUS_ACCEPTED = 4
520DELIVERY_STATUS_READ = 5
521DELIVERY_STATUS_DELETED = 6
522
523MEDIA_STREAM_ERROR_UNKNOWN = 0
524MEDIA_STREAM_ERROR_EOS = 1
525MEDIA_STREAM_ERROR_CODEC_NEGOTIATION_FAILED = 2
526MEDIA_STREAM_ERROR_CONNECTION_FAILED = 3
527MEDIA_STREAM_ERROR_NETWORK_ERROR = 4
528MEDIA_STREAM_ERROR_NO_CODECS = 5
529MEDIA_STREAM_ERROR_INVALID_CM_BEHAVIOR = 6
530MEDIA_STREAM_ERROR_MEDIA_ERROR = 7
531
532PASSWORD_FLAG_PROVIDE = 8
533
534# Channel.Interface.Room
535ROOM_NAME = CHANNEL_IFACE_ROOM + '.RoomName'
536ROOM_SERVER = CHANNEL_IFACE_ROOM + '.Server'
537
538# Channel.Interface.Subject
539SUBJECT = CHANNEL_IFACE_ROOM + '.Subject'
540SUBJECT_PRESENT = 1
541SUBJECT_CAN_SET = 2
542