• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * libjingle
3  * Copyright 2004--2005, Google Inc.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  *
8  *  1. Redistributions of source code must retain the above copyright notice,
9  *     this list of conditions and the following disclaimer.
10  *  2. Redistributions in binary form must reproduce the above copyright notice,
11  *     this list of conditions and the following disclaimer in the documentation
12  *     and/or other materials provided with the distribution.
13  *  3. The name of the author may not be used to endorse or promote products
14  *     derived from this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
19  * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
22  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
23  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
25  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  */
27 
28 #ifndef TALK_XMPP_CONSTANTS_H_
29 #define TALK_XMPP_CONSTANTS_H_
30 
31 #include <string>
32 #include "talk/xmllite/qname.h"
33 #include "talk/xmpp/jid.h"
34 
35 
36 #define NS_CLIENT Constants::ns_client()
37 #define NS_SERVER Constants::ns_server()
38 #define NS_STREAM Constants::ns_stream()
39 #define NS_XSTREAM Constants::ns_xstream()
40 #define NS_TLS Constants::ns_tls()
41 #define NS_SASL Constants::ns_sasl()
42 #define NS_BIND Constants::ns_bind()
43 #define NS_DIALBACK Constants::ns_dialback()
44 #define NS_SESSION Constants::ns_session()
45 #define NS_STANZA Constants::ns_stanza()
46 #define NS_PRIVACY Constants::ns_privacy()
47 #define NS_ROSTER Constants::ns_roster()
48 #define NS_VCARD Constants::ns_vcard()
49 #define NS_AVATAR_HASH Constants::ns_avatar_hash()
50 #define NS_VCARD_UPDATE Constants::ns_vcard_update()
51 #define STR_CLIENT Constants::str_client()
52 #define STR_SERVER Constants::str_server()
53 #define STR_STREAM Constants::str_stream()
54 
55 
56 namespace buzz {
57 
58 extern const Jid JID_EMPTY;
59 
60 class Constants {
61  public:
62   static const std::string & ns_client();
63   static const std::string & ns_server();
64   static const std::string & ns_stream();
65   static const std::string & ns_xstream();
66   static const std::string & ns_tls();
67   static const std::string & ns_sasl();
68   static const std::string & ns_bind();
69   static const std::string & ns_dialback();
70   static const std::string & ns_session();
71   static const std::string & ns_stanza();
72   static const std::string & ns_privacy();
73   static const std::string & ns_roster();
74   static const std::string & ns_vcard();
75   static const std::string & ns_avatar_hash();
76   static const std::string & ns_vcard_update();
77 
78   static const std::string & str_client();
79   static const std::string & str_server();
80   static const std::string & str_stream();
81 };
82 
83 extern const std::string STR_GET;
84 extern const std::string STR_SET;
85 extern const std::string STR_RESULT;
86 extern const std::string STR_ERROR;
87 
88 
89 extern const std::string STR_FROM;
90 extern const std::string STR_TO;
91 extern const std::string STR_BOTH;
92 extern const std::string STR_REMOVE;
93 
94 extern const std::string STR_MESSAGE;
95 extern const std::string STR_BODY;
96 extern const std::string STR_PRESENCE;
97 extern const std::string STR_STATUS;
98 extern const std::string STR_SHOW;
99 extern const std::string STR_PRIOIRTY;
100 extern const std::string STR_IQ;
101 
102 extern const std::string STR_TYPE;
103 extern const std::string STR_NAME;
104 extern const std::string STR_ID;
105 extern const std::string STR_JID;
106 extern const std::string STR_SUBSCRIPTION;
107 extern const std::string STR_ASK;
108 extern const std::string STR_X;
109 extern const std::string STR_GOOGLE_COM;
110 extern const std::string STR_GMAIL_COM;
111 extern const std::string STR_GOOGLEMAIL_COM;
112 extern const std::string STR_DEFAULT_DOMAIN;
113 extern const std::string STR_TALK_GOOGLE_COM;
114 extern const std::string STR_TALKX_L_GOOGLE_COM;
115 
116 #ifdef FEATURE_ENABLE_VOICEMAIL
117 extern const std::string STR_VOICEMAIL;
118 extern const std::string STR_OUTGOINGVOICEMAIL;
119 #endif
120 
121 extern const std::string STR_UNAVAILABLE;
122 
123 extern const QName QN_STREAM_STREAM;
124 extern const QName QN_STREAM_FEATURES;
125 extern const QName QN_STREAM_ERROR;
126 
127 extern const QName QN_XSTREAM_BAD_FORMAT;
128 extern const QName QN_XSTREAM_BAD_NAMESPACE_PREFIX;
129 extern const QName QN_XSTREAM_CONFLICT;
130 extern const QName QN_XSTREAM_CONNECTION_TIMEOUT;
131 extern const QName QN_XSTREAM_HOST_GONE;
132 extern const QName QN_XSTREAM_HOST_UNKNOWN;
133 extern const QName QN_XSTREAM_IMPROPER_ADDRESSIING;
134 extern const QName QN_XSTREAM_INTERNAL_SERVER_ERROR;
135 extern const QName QN_XSTREAM_INVALID_FROM;
136 extern const QName QN_XSTREAM_INVALID_ID;
137 extern const QName QN_XSTREAM_INVALID_NAMESPACE;
138 extern const QName QN_XSTREAM_INVALID_XML;
139 extern const QName QN_XSTREAM_NOT_AUTHORIZED;
140 extern const QName QN_XSTREAM_POLICY_VIOLATION;
141 extern const QName QN_XSTREAM_REMOTE_CONNECTION_FAILED;
142 extern const QName QN_XSTREAM_RESOURCE_CONSTRAINT;
143 extern const QName QN_XSTREAM_RESTRICTED_XML;
144 extern const QName QN_XSTREAM_SEE_OTHER_HOST;
145 extern const QName QN_XSTREAM_SYSTEM_SHUTDOWN;
146 extern const QName QN_XSTREAM_UNDEFINED_CONDITION;
147 extern const QName QN_XSTREAM_UNSUPPORTED_ENCODING;
148 extern const QName QN_XSTREAM_UNSUPPORTED_STANZA_TYPE;
149 extern const QName QN_XSTREAM_UNSUPPORTED_VERSION;
150 extern const QName QN_XSTREAM_XML_NOT_WELL_FORMED;
151 extern const QName QN_XSTREAM_TEXT;
152 
153 extern const QName QN_TLS_STARTTLS;
154 extern const QName QN_TLS_REQUIRED;
155 extern const QName QN_TLS_PROCEED;
156 extern const QName QN_TLS_FAILURE;
157 
158 extern const QName QN_SASL_MECHANISMS;
159 extern const QName QN_SASL_MECHANISM;
160 extern const QName QN_SASL_AUTH;
161 extern const QName QN_SASL_CHALLENGE;
162 extern const QName QN_SASL_RESPONSE;
163 extern const QName QN_SASL_ABORT;
164 extern const QName QN_SASL_SUCCESS;
165 extern const QName QN_SASL_FAILURE;
166 extern const QName QN_SASL_ABORTED;
167 extern const QName QN_SASL_INCORRECT_ENCODING;
168 extern const QName QN_SASL_INVALID_AUTHZID;
169 extern const QName QN_SASL_INVALID_MECHANISM;
170 extern const QName QN_SASL_MECHANISM_TOO_WEAK;
171 extern const QName QN_SASL_NOT_AUTHORIZED;
172 extern const QName QN_SASL_TEMPORARY_AUTH_FAILURE;
173 
174 extern const QName QN_DIALBACK_RESULT;
175 extern const QName QN_DIALBACK_VERIFY;
176 
177 extern const QName QN_STANZA_BAD_REQUEST;
178 extern const QName QN_STANZA_CONFLICT;
179 extern const QName QN_STANZA_FEATURE_NOT_IMPLEMENTED;
180 extern const QName QN_STANZA_FORBIDDEN;
181 extern const QName QN_STANZA_GONE;
182 extern const QName QN_STANZA_INTERNAL_SERVER_ERROR;
183 extern const QName QN_STANZA_ITEM_NOT_FOUND;
184 extern const QName QN_STANZA_JID_MALFORMED;
185 extern const QName QN_STANZA_NOT_ACCEPTABLE;
186 extern const QName QN_STANZA_NOT_ALLOWED;
187 extern const QName QN_STANZA_PAYMENT_REQUIRED;
188 extern const QName QN_STANZA_RECIPIENT_UNAVAILABLE;
189 extern const QName QN_STANZA_REDIRECT;
190 extern const QName QN_STANZA_REGISTRATION_REQUIRED;
191 extern const QName QN_STANZA_REMOTE_SERVER_NOT_FOUND;
192 extern const QName QN_STANZA_REMOTE_SERVER_TIMEOUT;
193 extern const QName QN_STANZA_RESOURCE_CONSTRAINT;
194 extern const QName QN_STANZA_SERVICE_UNAVAILABLE;
195 extern const QName QN_STANZA_SUBSCRIPTION_REQUIRED;
196 extern const QName QN_STANZA_UNDEFINED_CONDITION;
197 extern const QName QN_STANZA_UNEXPECTED_REQUEST;
198 extern const QName QN_STANZA_TEXT;
199 
200 extern const QName QN_BIND_BIND;
201 extern const QName QN_BIND_RESOURCE;
202 extern const QName QN_BIND_JID;
203 
204 extern const QName QN_MESSAGE;
205 extern const QName QN_BODY;
206 extern const QName QN_SUBJECT;
207 extern const QName QN_THREAD;
208 extern const QName QN_PRESENCE;
209 extern const QName QN_SHOW;
210 extern const QName QN_STATUS;
211 extern const QName QN_LANG;
212 extern const QName QN_PRIORITY;
213 extern const QName QN_IQ;
214 extern const QName QN_ERROR;
215 
216 extern const QName QN_SERVER_MESSAGE;
217 extern const QName QN_SERVER_BODY;
218 extern const QName QN_SERVER_SUBJECT;
219 extern const QName QN_SERVER_THREAD;
220 extern const QName QN_SERVER_PRESENCE;
221 extern const QName QN_SERVER_SHOW;
222 extern const QName QN_SERVER_STATUS;
223 extern const QName QN_SERVER_LANG;
224 extern const QName QN_SERVER_PRIORITY;
225 extern const QName QN_SERVER_IQ;
226 extern const QName QN_SERVER_ERROR;
227 
228 extern const QName QN_SESSION_SESSION;
229 
230 extern const QName QN_PRIVACY_QUERY;
231 extern const QName QN_PRIVACY_ACTIVE;
232 extern const QName QN_PRIVACY_DEFAULT;
233 extern const QName QN_PRIVACY_LIST;
234 extern const QName QN_PRIVACY_ITEM;
235 extern const QName QN_PRIVACY_IQ;
236 extern const QName QN_PRIVACY_MESSAGE;
237 extern const QName QN_PRIVACY_PRESENCE_IN;
238 extern const QName QN_PRIVACY_PRESENCE_OUT;
239 
240 extern const QName QN_ROSTER_QUERY;
241 extern const QName QN_ROSTER_ITEM;
242 extern const QName QN_ROSTER_GROUP;
243 
244 extern const QName QN_VCARD;
245 extern const QName QN_VCARD_FN;
246 extern const QName QN_VCARD_PHOTO;
247 extern const QName QN_VCARD_PHOTO_BINVAL;
248 extern const QName QN_VCARD_AVATAR_HASH;
249 extern const QName QN_VCARD_AVATAR_HASH_MODIFIED;
250 
251 #if defined(FEATURE_ENABLE_PSTN)
252 extern const QName QN_VCARD_TEL;
253 extern const QName QN_VCARD_VOICE;
254 extern const QName QN_VCARD_HOME;
255 extern const QName QN_VCARD_WORK;
256 extern const QName QN_VCARD_CELL;
257 extern const QName QN_VCARD_NUMBER;
258 #endif
259 
260 #if defined(FEATURE_ENABLE_RICHPROFILES)
261 extern const QName QN_USER_PROFILE_QUERY;
262 extern const QName QN_USER_PROFILE_URL;
263 
264 extern const QName QN_ATOM_FEED;
265 extern const QName QN_ATOM_ENTRY;
266 extern const QName QN_ATOM_TITLE;
267 extern const QName QN_ATOM_ID;
268 extern const QName QN_ATOM_MODIFIED;
269 extern const QName QN_ATOM_IMAGE;
270 extern const QName QN_ATOM_LINK;
271 extern const QName QN_ATOM_HREF;
272 #endif
273 
274 extern const QName QN_XML_LANG;
275 
276 extern const QName QN_ENCODING;
277 extern const QName QN_VERSION;
278 extern const QName QN_TO;
279 extern const QName QN_FROM;
280 extern const QName QN_TYPE;
281 extern const QName QN_ID;
282 extern const QName QN_CODE;
283 extern const QName QN_NAME;
284 extern const QName QN_VALUE;
285 extern const QName QN_ACTION;
286 extern const QName QN_ORDER;
287 extern const QName QN_MECHANISM;
288 extern const QName QN_ASK;
289 extern const QName QN_JID;
290 extern const QName QN_SUBSCRIPTION;
291 extern const QName QN_TITLE1;
292 extern const QName QN_TITLE2;
293 extern const QName QN_AFFILIATION;
294 extern const QName QN_ROLE;
295 
296 
297 extern const QName QN_XMLNS_CLIENT;
298 extern const QName QN_XMLNS_SERVER;
299 extern const QName QN_XMLNS_STREAM;
300 
301 // Presence
302 extern const std::string STR_SHOW_AWAY;
303 extern const std::string STR_SHOW_CHAT;
304 extern const std::string STR_SHOW_DND;
305 extern const std::string STR_SHOW_XA;
306 extern const std::string STR_SHOW_OFFLINE;
307 
308 // Subscription
309 extern const std::string STR_SUBSCRIBE;
310 extern const std::string STR_SUBSCRIBED;
311 extern const std::string STR_UNSUBSCRIBE;
312 extern const std::string STR_UNSUBSCRIBED;
313 
314 // Google Invite
315 extern const std::string NS_GOOGLE_SUBSCRIBE;
316 extern const QName QN_INVITATION;
317 extern const QName QN_INVITE_NAME;
318 extern const QName QN_INVITE_SUBJECT;
319 extern const QName QN_INVITE_MESSAGE;
320 
321 
322 // JEP 0030
323 extern const QName QN_NODE;
324 extern const QName QN_CATEGORY;
325 extern const QName QN_VAR;
326 extern const std::string NS_DISCO_INFO;
327 extern const std::string NS_DISCO_ITEMS;
328 
329 extern const QName QN_DISCO_INFO_QUERY;
330 extern const QName QN_DISCO_IDENTITY;
331 extern const QName QN_DISCO_FEATURE;
332 
333 extern const QName QN_DISCO_ITEMS_QUERY;
334 extern const QName QN_DISCO_ITEM;
335 
336 
337 // JEP 0045
338 extern const std::string NS_MUC;
339 extern const QName QN_MUC_X;
340 extern const QName QN_MUC_ITEM;
341 extern const QName QN_MUC_AFFILIATION;
342 extern const QName QN_MUC_ROLE;
343 extern const std::string STR_AFFILIATION_NONE;
344 extern const std::string STR_ROLE_PARTICIPANT;
345 extern const std::string NS_MUC_USER;
346 extern const QName QN_MUC_USER_CONTINUE;
347 extern const QName QN_MUC_USER_X;
348 extern const QName QN_MUC_USER_ITEM;
349 extern const QName QN_MUC_USER_STATUS;
350 
351 
352 // JEP 0115
353 extern const std::string NS_CAPS;
354 extern const QName QN_CAPS_C;
355 extern const QName QN_VER;
356 extern const QName QN_EXT;
357 
358 
359 // Avatar - JEP 0153
360 extern const std::string kNSVCard;
361 extern const QName kQnVCardX;
362 extern const QName kQnVCardPhoto;
363 
364 // JEP 0172 User Nickname
365 extern const std::string kNSNickname;
366 extern const QName kQnNickname;
367 
368 
369 // JEP 0085 chat state
370 extern const std::string NS_CHATSTATE;
371 extern const QName QN_CS_ACTIVE;
372 extern const QName QN_CS_COMPOSING;
373 extern const QName QN_CS_PAUSED;
374 extern const QName QN_CS_INACTIVE;
375 extern const QName QN_CS_GONE;
376 
377 // JEP 0091 Delayed Delivery
378 extern const std::string kNSDelay;
379 extern const QName kQnDelayX;
380 extern const QName kQnStamp;
381 
382 // Google time stamping (higher resolution)
383 extern const std::string kNSTimestamp;
384 extern const QName kQnTime;
385 extern const QName kQnMilliseconds;
386 
387 
388 extern const std::string NS_JINGLE_INFO;
389 extern const QName QN_JINGLE_INFO_QUERY;
390 extern const QName QN_JINGLE_INFO_STUN;
391 extern const QName QN_JINGLE_INFO_RELAY;
392 extern const QName QN_JINGLE_INFO_SERVER;
393 extern const QName QN_JINGLE_INFO_TOKEN;
394 extern const QName QN_JINGLE_INFO_HOST;
395 extern const QName QN_JINGLE_INFO_TCP;
396 extern const QName QN_JINGLE_INFO_UDP;
397 extern const QName QN_JINGLE_INFO_TCPSSL;
398 
399 extern const std::string NS_GOOGLE_CALLPERF_STATS;
400 extern const QName QN_CALLPERF_STATS;
401 extern const QName QN_CALLPERF_SESSIONID;
402 extern const QName QN_CALLPERF_LOCALUSER;
403 extern const QName QN_CALLPERF_REMOTEUSER;
404 extern const QName QN_CALLPERF_STARTTIME;
405 extern const QName QN_CALLPERF_CALL_LENGTH;
406 extern const QName QN_CALLPERF_DATAPOINT;
407 extern const QName QN_CALLPERF_DATAPOINT_TIME;
408 extern const QName QN_CALLPERF_DATAPOINT_FRACTION_LOST;
409 extern const QName QN_CALLPERF_DATAPOINT_CUM_LOST;
410 extern const QName QN_CALLPERF_DATAPOINT_EXT_MAX;
411 extern const QName QN_CALLPERF_DATAPOINT_JITTER;
412 extern const QName QN_CALLPERF_DATAPOINT_RTT;
413 extern const QName QN_CALLPERF_DATAPOINT_BYTES_R;
414 extern const QName QN_CALLPERF_DATAPOINT_PACKETS_R;
415 extern const QName QN_CALLPERF_DATAPOINT_BYTES_S;
416 extern const QName QN_CALLPERF_DATAPOINT_PACKETS_S;
417 extern const QName QN_CALLPERF_CONNECTION;
418 extern const QName QN_CALLPERF_CONNECTION_LOCAL_ADDRESS;
419 extern const QName QN_CALLPERF_CONNECTION_REMOTE_ADDRESS;
420 
421 // Muc invites.
422 extern const QName QN_MUC_USER_INVITE;
423 
424 // Multiway audio/video.
425 extern const std::string NS_GOOGLE_MUC_USER;
426 extern const QName QN_GOOGLE_MUC_USER_AVAILABLE_MEDIA;
427 extern const QName QN_GOOGLE_MUC_USER_ENTRY;
428 extern const QName QN_GOOGLE_MUC_USER_MEDIA;
429 extern const QName QN_GOOGLE_MUC_USER_TYPE;
430 extern const QName QN_GOOGLE_MUC_USER_SRC_ID;
431 extern const QName QN_GOOGLE_MUC_USER_STATUS;
432 extern const QName QN_LABEL;
433 
434 }  // namespace buzz
435 
436 #endif  // TALK_XMPP_CONSTANTS_H_
437