1// Copyright (c) 2017-2018 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
2// Copyright (c) 2017 Maxime “pep” Buquet <pep@bouah.net>
3//
4// This Source Code Form is subject to the terms of the Mozilla Public
5// License, v. 2.0. If a copy of the MPL was not distributed with this
6// file, You can obtain one at http://mozilla.org/MPL/2.0/.
7
8/// RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
9pub const JABBER_CLIENT: &str = "jabber:client";
10/// RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
11pub const XMPP_STANZAS: &str = "urn:ietf:params:xml:ns:xmpp-stanzas";
12/// RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
13pub const STREAM: &str = "http://etherx.jabber.org/streams";
14/// RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
15pub const SASL: &str = "urn:ietf:params:xml:ns:xmpp-sasl";
16/// RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
17pub const BIND: &str = "urn:ietf:params:xml:ns:xmpp-bind";
18
19/// RFC 6121: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence
20pub const ROSTER: &str = "jabber:iq:roster";
21
22/// RFC 7395: An Extensible Messaging and Presence Protocol (XMPP) Subprotocol for WebSocket
23pub const WEBSOCKET: &str = "urn:ietf:params:xml:ns:xmpp-framing";
24
25/// XEP-0004: Data Forms
26pub const DATA_FORMS: &str = "jabber:x:data";
27
28/// XEP-0030: Service Discovery
29pub const DISCO_INFO: &str = "http://jabber.org/protocol/disco#info";
30/// XEP-0030: Service Discovery
31pub const DISCO_ITEMS: &str = "http://jabber.org/protocol/disco#items";
32
33/// XEP-0045: Multi-User Chat
34pub const MUC: &str = "http://jabber.org/protocol/muc";
35/// XEP-0045: Multi-User Chat
36pub const MUC_USER: &str = "http://jabber.org/protocol/muc#user";
37
38/// XEP-0047: In-Band Bytestreams
39pub const IBB: &str = "http://jabber.org/protocol/ibb";
40
41/// XEP-0048: Bookmarks
42pub const BOOKMARKS: &str = "storage:bookmarks";
43
44/// XEP-0059: Result Set Management
45pub const RSM: &str = "http://jabber.org/protocol/rsm";
46
47/// XEP-0060: Publish-Subscribe
48pub const PUBSUB: &str = "http://jabber.org/protocol/pubsub";
49/// XEP-0060: Publish-Subscribe
50pub const PUBSUB_ERRORS: &str = "http://jabber.org/protocol/pubsub#errors";
51/// XEP-0060: Publish-Subscribe
52pub const PUBSUB_EVENT: &str = "http://jabber.org/protocol/pubsub#event";
53/// XEP-0060: Publish-Subscribe
54pub const PUBSUB_OWNER: &str = "http://jabber.org/protocol/pubsub#owner";
55
56/// XEP-0071: XHTML-IM
57pub const XHTML_IM: &str = "http://jabber.org/protocol/xhtml-im";
58/// XEP-0071: XHTML-IM
59pub const XHTML: &str = "http://www.w3.org/1999/xhtml";
60
61/// XEP-0077: In-Band Registration
62pub const REGISTER: &str = "jabber:iq:register";
63
64/// XEP-0084: User Avatar
65pub const AVATAR_DATA: &str = "urn:xmpp:avatar:data";
66/// XEP-0084: User Avatar
67pub const AVATAR_METADATA: &str = "urn:xmpp:avatar:metadata";
68
69/// XEP-0085: Chat State Notifications
70pub const CHATSTATES: &str = "http://jabber.org/protocol/chatstates";
71
72/// XEP-0092: Software Version
73pub const VERSION: &str = "jabber:iq:version";
74
75/// XEP-0107: User Mood
76pub const MOOD: &str = "http://jabber.org/protocol/mood";
77
78/// XEP-0114: Jabber Component Protocol
79pub const COMPONENT_ACCEPT: &str = "jabber:component:accept";
80
81/// XEP-0114: Jabber Component Protocol
82pub const COMPONENT: &str = "jabber:component:accept";
83
84/// XEP-0115: Entity Capabilities
85pub const CAPS: &str = "http://jabber.org/protocol/caps";
86
87/// XEP-0118: User Tune
88pub const TUNE: &str = "http://jabber.org/protocol/tune";
89
90/// XEP-0157: Contact Addresses for XMPP Services
91pub const SERVER_INFO: &str = "http://jabber.org/network/serverinfo";
92
93/// XEP-0166: Jingle
94pub const JINGLE: &str = "urn:xmpp:jingle:1";
95
96/// XEP-0167: Jingle RTP Sessions
97pub const JINGLE_RTP: &str = "urn:xmpp:jingle:apps:rtp:1";
98/// XEP-0167: Jingle RTP Sessions
99pub const JINGLE_RTP_AUDIO: &str = "urn:xmpp:jingle:apps:rtp:audio";
100/// XEP-0167: Jingle RTP Sessions
101pub const JINGLE_RTP_VIDEO: &str = "urn:xmpp:jingle:apps:rtp:video";
102
103/// XEP-0172: User Nickname
104pub const NICK: &str = "http://jabber.org/protocol/nick";
105
106/// XEP-0176: Jingle ICE-UDP Transport Method
107pub const JINGLE_ICE_UDP: &str = "urn:xmpp:jingle:transports:ice-udp:1";
108
109/// XEP-0184: Message Delivery Receipts
110pub const RECEIPTS: &str = "urn:xmpp:receipts";
111
112/// XEP-0191: Blocking Command
113pub const BLOCKING: &str = "urn:xmpp:blocking";
114/// XEP-0191: Blocking Command
115pub const BLOCKING_ERRORS: &str = "urn:xmpp:blocking:errors";
116
117/// XEP-0198: Stream Management
118pub const SM: &str = "urn:xmpp:sm:3";
119
120/// XEP-0199: XMPP Ping
121pub const PING: &str = "urn:xmpp:ping";
122
123/// XEP-0202: Entity Time
124pub const TIME: &str = "urn:xmpp:time";
125
126/// XEP-0203: Delayed Delivery
127pub const DELAY: &str = "urn:xmpp:delay";
128
129/// XEP-0221: Data Forms Media Element
130pub const MEDIA_ELEMENT: &str = "urn:xmpp:media-element";
131
132/// XEP-0224: Attention
133pub const ATTENTION: &str = "urn:xmpp:attention:0";
134
135/// XEP-0231: Bits of Binary
136pub const BOB: &str = "urn:xmpp:bob";
137
138/// XEP-0234: Jingle File Transfer
139pub const JINGLE_FT: &str = "urn:xmpp:jingle:apps:file-transfer:5";
140/// XEP-0234: Jingle File Transfer
141pub const JINGLE_FT_ERROR: &str = "urn:xmpp:jingle:apps:file-transfer:errors:0";
142
143/// XEP-0257: Client Certificate Management for SASL EXTERNAL
144pub const SASL_CERT: &str = "urn:xmpp:saslcert:1";
145
146/// XEP-0260: Jingle SOCKS5 Bytestreams Transport Method
147pub const JINGLE_S5B: &str = "urn:xmpp:jingle:transports:s5b:1";
148
149/// XEP-0261: Jingle In-Band Bytestreams Transport Method
150pub const JINGLE_IBB: &str = "urn:xmpp:jingle:transports:ibb:1";
151
152/// XEP-0277: Microblogging over XMPP
153pub const MICROBLOG: &str = "urn:xmpp:microblog:0";
154
155/// XEP-0280: Message Carbons
156pub const CARBONS: &str = "urn:xmpp:carbons:2";
157
158/// XEP-0297: Stanza Forwarding
159pub const FORWARD: &str = "urn:xmpp:forward:0";
160
161/// XEP-0300: Use of Cryptographic Hash Functions in XMPP
162pub const HASHES: &str = "urn:xmpp:hashes:2";
163/// XEP-0300: Use of Cryptographic Hash Functions in XMPP
164pub const HASH_ALGO_SHA_256: &str = "urn:xmpp:hash-function-text-names:sha-256";
165/// XEP-0300: Use of Cryptographic Hash Functions in XMPP
166pub const HASH_ALGO_SHA_512: &str = "urn:xmpp:hash-function-text-names:sha-512";
167/// XEP-0300: Use of Cryptographic Hash Functions in XMPP
168pub const HASH_ALGO_SHA3_256: &str = "urn:xmpp:hash-function-text-names:sha3-256";
169/// XEP-0300: Use of Cryptographic Hash Functions in XMPP
170pub const HASH_ALGO_SHA3_512: &str = "urn:xmpp:hash-function-text-names:sha3-512";
171/// XEP-0300: Use of Cryptographic Hash Functions in XMPP
172pub const HASH_ALGO_BLAKE2B_256: &str = "urn:xmpp:hash-function-text-names:id-blake2b256";
173/// XEP-0300: Use of Cryptographic Hash Functions in XMPP
174pub const HASH_ALGO_BLAKE2B_512: &str = "urn:xmpp:hash-function-text-names:id-blake2b512";
175
176/// XEP-0308: Last Message Correction
177pub const MESSAGE_CORRECT: &str = "urn:xmpp:message-correct:0";
178
179/// XEP-0313: Message Archive Management
180pub const MAM: &str = "urn:xmpp:mam:2";
181
182/// XEP-0319: Last User Interaction in Presence
183pub const IDLE: &str = "urn:xmpp:idle:1";
184
185/// XEP-0320: Use of DTLS-SRTP in Jingle Sessions
186pub const JINGLE_DTLS: &str = "urn:xmpp:jingle:apps:dtls:0";
187
188/// XEP-0328: JID Prep
189pub const JID_PREP: &str = "urn:xmpp:jidprep:0";
190
191/// XEP-0352: Client State Indication
192pub const CSI: &str = "urn:xmpp:csi:0";
193
194/// XEP-0353: Jingle Message Initiation
195pub const JINGLE_MESSAGE: &str = "urn:xmpp:jingle-message:0";
196
197/// XEP-0359: Unique and Stable Stanza IDs
198pub const SID: &str = "urn:xmpp:sid:0";
199
200/// XEP-0373: OpenPGP for XMPP
201pub const OX: &str = "urn:xmpp:openpgp:0";
202/// XEP-0373: OpenPGP for XMPP
203pub const OX_PUBKEYS: &str = "urn:xmpp:openpgp:0:public-keys";
204
205/// XEP-0380: Explicit Message Encryption
206pub const EME: &str = "urn:xmpp:eme:0";
207
208/// XEP-0390: Entity Capabilities 2.0
209pub const ECAPS2: &str = "urn:xmpp:caps";
210/// XEP-0390: Entity Capabilities 2.0
211pub const ECAPS2_OPTIMIZE: &str = "urn:xmpp:caps:optimize";
212
213/// XEP-0421: Anonymous unique occupant identifiers for MUCs
214pub const OID: &str = "urn:xmpp:occupant-id:0";
215
216/// Alias for the main namespace of the stream, that is "jabber:client" when
217/// the component feature isn’t enabled.
218#[cfg(not(feature = "component"))]
219pub const DEFAULT_NS: &str = JABBER_CLIENT;
220
221/// Alias for the main namespace of the stream, that is
222/// "jabber:component:accept" when the component feature is enabled.
223#[cfg(feature = "component")]
224pub const DEFAULT_NS: &str = COMPONENT_ACCEPT;