276
276
* The XMPP Standards Foundation has published a number of extensions to the core protocols, called
277
277
* XMPP Extension Protocols (XEPs). A couple of these XEPs are implemented in gloox:
279
* @li XEP-0004 @link gloox::DataForm Data Forms @endlink
280
* @li XEP-0012 @link gloox::LastActivity Last Activity @endlink
281
* @li XEP-0013 @link gloox::FlexibleOffline Flexible Offline Message Retrieval @endlink
282
* @li XEP-0022 Message Events (see @link gloox::MessageSession MessageSession @endlink for examples)
283
* @li XEP-0027 Current Jabber OpenPGP Usage (see @link gloox::GPGSigned GPGSigned @endlink
279
* @li @xep{0004} @link gloox::DataForm Data Forms @endlink
280
* @li @xep{0012} @link gloox::LastActivity Last Activity @endlink
281
* @li @xep{0013} @link gloox::FlexibleOffline Flexible Offline Message Retrieval @endlink
282
* @li @xep{0022} Message Events (see @link gloox::MessageSession MessageSession @endlink for examples)
283
* @li @xep{0027} Current Jabber OpenPGP Usage (see @link gloox::GPGSigned GPGSigned @endlink
284
284
* and @link gloox::GPGEncrypted GPGEncrypted @endlink)
285
* @li XEP-0030 @link gloox::Disco Service Discovery @endlink
286
* @li XEP-0045 @link gloox::MUCRoom Multi-User Chat @endlink
287
* @li XEP-0047 Used with @ref filetransfer_sec
288
* @li XEP-0048 @link gloox::BookmarkStorage Bookmark Storage @endlink
289
* @li XEP-0049 @link gloox::PrivateXML Private XML Storage @endlink
290
* @li XEP-0050 @link gloox::Adhoc Ad-hoc Commands @endlink
291
* @li XEP-0054 @link gloox::VCardManager vcard-temp @endlink
292
* @li XEP-0060 @link gloox::PubSub::Manager Publish-Subscribe @endlink
293
* @li XEP-0065 @link gloox::SOCKS5BytestreamManager SOCKS5 Bytestreams @endlink, used with
285
* @li @xep{0030} @link gloox::Disco Service Discovery @endlink
286
* @li @xep{0045} @link gloox::MUCRoom Multi-User Chat @endlink
287
* @li @xep{0047} Used with @ref filetransfer_sec
288
* @li @xep{0048} @link gloox::BookmarkStorage Bookmark Storage @endlink
289
* @li @xep{0049} @link gloox::PrivateXML Private XML Storage @endlink
290
* @li @xep{0050} @link gloox::Adhoc Ad-hoc Commands @endlink
291
* @li @xep{0054} @link gloox::VCardManager vcard-temp @endlink
292
* @li @xep{0060} @link gloox::PubSub::Manager Publish-Subscribe @endlink
293
* @li @xep{0065} @link gloox::SOCKS5BytestreamManager SOCKS5 Bytestreams @endlink, used with
294
294
* @ref filetransfer_sec and @ref proxy_sec
295
* @li XEP-0066 @link gloox::OOB Out of Band Data @endlink, also used with @ref filetransfer_sec
296
* @li XEP-0077 @link gloox::Registration In-Band Registration @endlink
297
* @li XEP-0078 Non-SASL Authentication (automatically used if the server does not support SASL)
298
* @li XEP-0079 @link gloox::AMP Advanced Message Processing @endlink
299
* @li XEP-0083 Nested Roster Groups (automatically used if supported by the server. see
295
* @li @xep{0066} @link gloox::OOB Out of Band Data @endlink, also used with @ref filetransfer_sec
296
* @li @xep{0077} @link gloox::Registration In-Band Registration @endlink
297
* @li @xep{0078} Non-SASL Authentication (automatically used if the server does not support SASL)
298
* @li @xep{0079} @link gloox::AMP Advanced Message Processing @endlink
299
* @li @xep{0083} Nested Roster Groups (automatically used if supported by the server. see
300
300
* @link gloox::RosterManager::delimiter() RosterManager @endlink)
301
* @li XEP-0085 Chat State Notifications (see @link gloox::MessageSession MessageSession @endlink for
301
* @li @xep{0085} Chat State Notifications (see @link gloox::MessageSession MessageSession @endlink for
303
* @li XEP-0091 @link gloox::DelayedDelivery Delayed Delivery @endlink (old spec)
304
* @li XEP-0092 Software Version (integrated into @link gloox::Disco Service Discovery @endlink)
305
* @li XEP-0095 @link gloox::SIManager Stream Initiation @endlink, used with @ref filetransfer_sec
306
* @li XEP-0096 @ref filetransfer_sec
307
* @li XEP-0106 @link gloox::JID::escapeNode() JID Escaping @endlink
308
* @li XEP-0114 @link gloox::Component Jabber Component Protocol @endlink
309
* @li XEP-0115 @link gloox::Capabilities Entity Capabilities @endlink (used automatically internally)
310
* @li XEP-0124 @link gloox::ConnectionBOSH Bidirectional-streams Over Synchronous HTTP (BOSH) @endlink
311
* @li XEP-0131 @link gloox::SHIM Stanza Headers and Internet Metadata @endlink
312
* @li XEP-0138 Stream Compression (used automatically if gloox is compiled with zlib and if the server
303
* @li @xep{0091} @link gloox::DelayedDelivery Delayed Delivery @endlink (old spec)
304
* @li @xep{0092} Software Version (integrated into @link gloox::Disco Service Discovery @endlink)
305
* @li @xep{0095} @link gloox::SIManager Stream Initiation @endlink, used with @ref filetransfer_sec
306
* @li @xep{0096} @ref filetransfer_sec
307
* @li @xep{0106} @link gloox::JID::escapeNode() JID Escaping @endlink
308
* @li @xep{0114} @link gloox::Component Jabber Component Protocol @endlink
309
* @li @xep{0115} @link gloox::Capabilities Entity Capabilities @endlink (used automatically internally)
310
* @li @xep{0124} @link gloox::ConnectionBOSH Bidirectional-streams Over Synchronous HTTP (BOSH) @endlink
311
* @li @xep{0131} @link gloox::SHIM Stanza Headers and Internet Metadata @endlink
312
* @li @xep{0138} Stream Compression (used automatically if gloox is compiled with zlib and if the server
314
* @li XEP-0145 @link gloox::Annotations Annotations @endlink
315
* @li XEP-0153 @link gloox::VCardUpdate vCard-based Avatars @endlink
316
* @li XEP-0172 @link gloox::Nickname User Nickname @endlink
317
* @li XEP-0184 @link gloox::Receipt Message Receipts @endlink
318
* @li XEP-0199 @link gloox::ClientBase::xmppPing() XMPP Ping @endlink
319
* @li XEP-0203 @link gloox::DelayedDelivery Delayed Delivery @endlink (new spec)
320
* @li XEP-0206 @link gloox::ConnectionBOSH see BOSH @endlink
321
* @li XEP-0224 @link gloox::Attention Attention @endlink
322
* @li XEP-0256 @link gloox::LastActivity::Query Last Activity in Presence @endlink
314
* @li @xep{0145} @link gloox::Annotations Annotations @endlink
315
* @li @xep{0153} @link gloox::VCardUpdate vCard-based Avatars @endlink
316
* @li @xep{0166} @link gloox::Jingle::SessionManager Jingle @endlink
317
* @li @xep{0172} @link gloox::Nickname User Nickname @endlink
318
* @li @xep{0174} @link gloox::LinkLocal::Manager Link-local Messaging @endlink
319
* @li @xep{0176} @link gloox::Jingle::ICEUDP Jingle ICE-UDP Transport Method @endlink
320
* @li @xep{0184} @link gloox::Receipt Message Receipts @endlink
321
* @li @xep{0198} Stream Management (integrated into @link gloox::Client @endlink)
322
* @li @xep{0199} @link gloox::ClientBase::xmppPing() XMPP Ping @endlink
323
* @li @xep{0203} @link gloox::DelayedDelivery Delayed Delivery @endlink (new spec)
324
* @li @xep{0206} @link gloox::ConnectionBOSH see BOSH @endlink
325
* @li @xep{0224} @link gloox::Attention Attention @endlink
326
* @li @xep{0234} @link gloox::Jingle::FileTransfer Jingle File Transfer @endlink
327
* @li @xep{0256} @link gloox::LastActivity::Query Last Activity in Presence @endlink
328
* @li @xep{0280} @link gloox::Carbons Message Carbons @endlink
329
* @li @xep{0297} @link gloox::Forward Stanza Forwarding @endlink
324
331
* Further extensions can easily be implemented using
325
332
* @link gloox::StanzaExtension StanzaExtensions @endlink.
327
334
* @section filetransfer_sec File Transfer
329
* For file transfer, gloox implements XEP-0095 (Stream Initiation) as well XEP-0096 (File Transfer)
330
* for the signalling, and XEP-0065 (SOCKS5 Bytestreams) as well as XEP-0047 (In-Band Bytestreams)
336
* For file transfer, gloox implements @xep{0095} (Stream Initiation) as well @xep{0096} (File Transfer)
337
* for the signalling, and @xep{0065} (SOCKS5 Bytestreams) as well as @xep{0047} (In-Band Bytestreams)
331
338
* for the transport. See @link gloox::SIProfileFT SIProfileFT @endlink.
333
340
* @section proxy_sec HTTP and SOCKS5 Proxy support
362
369
/** Client namespace (RFC 3920)*/
363
370
GLOOX_API extern const std::string XMLNS_CLIENT;
365
/** Component Accept namespace (XEP-0114) */
372
/** Component Accept namespace (@xep{0114}) */
366
373
GLOOX_API extern const std::string XMLNS_COMPONENT_ACCEPT;
368
/** Component Connect namespace (XEP-0114) */
375
/** Component Connect namespace (@xep{0114}) */
369
376
GLOOX_API extern const std::string XMLNS_COMPONENT_CONNECT;
371
/** Service Discovery Info namespace (XEP-0030) */
378
/** Service Discovery Info namespace (@xep{0030}) */
372
379
GLOOX_API extern const std::string XMLNS_DISCO_INFO;
374
/** Service Discovery Items namespace (XEP-0030) */
381
/** Service Discovery Items namespace (@xep{0030}) */
375
382
GLOOX_API extern const std::string XMLNS_DISCO_ITEMS;
377
/** Service Discovery Publish namespace (XEP-0030) */
384
/** Service Discovery Publish namespace (@xep{0030}) */
378
385
GLOOX_API extern const std::string XMLNS_DISCO_PUBLISH;
380
/** Adhoc Commands namespace (XEP-0050) */
387
/** Adhoc Commands namespace (@xep{0050}) */
381
388
GLOOX_API extern const std::string XMLNS_ADHOC_COMMANDS;
383
/** Stream Compression namespace (XEP-0138) */
390
/** Stream Compression namespace (@xep{0138}) */
384
391
GLOOX_API extern const std::string XMLNS_COMPRESSION;
386
/** Flexible Offline Message Retrieval (XEP-0013) */
393
/** Flexible Offline Message Retrieval (@xep{0013}) */
387
394
GLOOX_API extern const std::string XMLNS_OFFLINE;
389
/** Chat State Notifications namespace (XEP-0085) */
396
/** Chat State Notifications namespace (@xep{0085}) */
390
397
GLOOX_API extern const std::string XMLNS_CHAT_STATES;
392
/** Advanced Message Processing (XEP-0079) */
399
/** Advanced Message Processing (@xep{0079}) */
393
400
GLOOX_API extern const std::string XMLNS_AMP;
395
/** In-Band Bytestreams namespace (XEP-0047) */
402
/** In-Band Bytestreams namespace (@xep{0047}) */
396
403
GLOOX_API extern const std::string XMLNS_IBB;
398
/** Feature Negotiation namespace (XEP-0020) */
405
/** Feature Negotiation namespace (@xep{0020}) */
399
406
GLOOX_API extern const std::string XMLNS_FEATURE_NEG;
401
/** Chat Session Negotiation namespace (XEP-0155) */
408
/** Chat Session Negotiation namespace (@xep{0155}) */
402
409
GLOOX_API extern const std::string XMLNS_CHATNEG;
404
/** XHTML-IM namespace (XEP-0071) */
411
/** XHTML-IM namespace (@xep{0071}) */
405
412
GLOOX_API extern const std::string XMLNS_XHTML_IM;
407
/** Delayed Delivery namespace (XEP-0203) */
414
/** Delayed Delivery namespace (@xep{0203}) */
408
415
GLOOX_API extern const std::string XMLNS_DELAY;
410
417
/** Roster namespace (RFC 3921) */
411
418
GLOOX_API extern const std::string XMLNS_ROSTER;
413
/** Software Version namespace (XEP-0092) */
420
/** Software Version namespace (@xep{0092}) */
414
421
GLOOX_API extern const std::string XMLNS_VERSION;
416
/** In-Band Registration namespace (XEP-0077) */
423
/** In-Band Registration namespace (@xep{0077}) */
417
424
GLOOX_API extern const std::string XMLNS_REGISTER;
419
426
/** Privacy lists namespace (RFC 3921) */
420
427
GLOOX_API extern const std::string XMLNS_PRIVACY;
422
/** Non-SASL Authentication namespace (XEP-0078) */
429
/** Non-SASL Authentication namespace (@xep{0078}) */
423
430
GLOOX_API extern const std::string XMLNS_AUTH;
425
/** Private XML Storage namespace (XEP-0049) */
432
/** Private XML Storage namespace (@xep{0049}) */
426
433
GLOOX_API extern const std::string XMLNS_PRIVATE_XML;
428
/** Last Activity namespace (XEP-0012) */
435
/** Last Activity namespace (@xep{0012}) */
429
436
GLOOX_API extern const std::string XMLNS_LAST;
431
/** Jabber Search namespace (XEP-0055) */
438
/** Jabber Search namespace (@xep{0055}) */
432
439
GLOOX_API extern const std::string XMLNS_SEARCH;
434
/** Out of Band Data (IQ) namespace (XEP-0066) */
441
/** Out of Band Data (IQ) namespace (@xep{0066}) */
435
442
GLOOX_API extern const std::string XMLNS_IQ_OOB;
437
/** Data Forms namespace (XEP-0004) */
444
/** Data Forms namespace (@xep{0004}) */
438
445
GLOOX_API extern const std::string XMLNS_X_DATA;
440
/** Message Events (XEP-0022) */
447
/** Message Events (@xep{0022}) */
441
448
GLOOX_API extern const std::string XMLNS_X_EVENT;
443
/** Out of Band Data (X) namespace (XEP-0066) */
450
/** Out of Band Data (X) namespace (@xep{0066}) */
444
451
GLOOX_API extern const std::string XMLNS_X_OOB;
446
/** Delayed Delivery namespace (XEP-0091) */
453
/** Delayed Delivery namespace (@xep{0091}) */
447
454
GLOOX_API extern const std::string XMLNS_X_DELAY;
449
/** Current Jabber OpenPGP Usage (Sign.) (XEP-0027) */
456
/** Current Jabber OpenPGP Usage (Sign.) (@xep{0027}) */
450
457
GLOOX_API extern const std::string XMLNS_X_GPGSIGNED;
452
/** Current Jabber OpenPGP Usage (Enc.) (XEP-0027) */
459
/** Current Jabber OpenPGP Usage (Enc.) (@xep{0027}) */
453
460
GLOOX_API extern const std::string XMLNS_X_GPGENCRYPTED;
455
/** vcard-temp namespace (XEP-0054) */
462
/** vcard-temp namespace (@xep{0054}) */
456
463
GLOOX_API extern const std::string XMLNS_VCARD_TEMP;
458
/** vCard-Based Avatars namespace (XEP-0153) */
465
/** vCard-Based Avatars namespace (@xep{0153}) */
459
466
GLOOX_API extern const std::string XMLNS_X_VCARD_UPDATE;
461
/** Bookmark Storage namespace (XEP-0048) */
468
/** Bookmark Storage namespace (@xep{0048}) */
462
469
GLOOX_API extern const std::string XMLNS_BOOKMARKS;
464
/** Annotations namespace (XEP-0145) */
471
/** Annotations namespace (@xep{0145}) */
465
472
GLOOX_API extern const std::string XMLNS_ANNOTATIONS;
467
/** Nested Roster Groups namespace (XEP-0083) */
474
/** Nested Roster Groups namespace (@xep{0083}) */
468
475
GLOOX_API extern const std::string XMLNS_ROSTER_DELIMITER;
470
/** XMPP Ping namespace (XEP-0199) */
477
/** XMPP Ping namespace (@xep{0199}) */
471
478
GLOOX_API extern const std::string XMLNS_XMPP_PING;
473
/** Stream Initiation namespace (XEP-0095) */
480
/** Stream Initiation namespace (@xep{0095}) */
474
481
GLOOX_API extern const std::string XMLNS_SI;
476
/** File transfer profile of Stream Initiation (XEP-0096) */
483
/** File transfer profile of Stream Initiation (@xep{0096}) */
477
484
GLOOX_API extern const std::string XMLNS_SI_FT;
479
/** SOCKS5 Bytestreams namespace (XEP-0065) */
486
/** SOCKS5 Bytestreams namespace (@xep{0065}) */
480
487
GLOOX_API extern const std::string XMLNS_BYTESTREAMS;
482
/** Multi-User Chat namespace (XEP-0045) */
489
/** Multi-User Chat namespace (@xep{0045}) */
483
490
GLOOX_API extern const std::string XMLNS_MUC;
485
/** Multi-User Chat namespace (user) (XEP-0045) */
492
/** Multi-User Chat namespace (user) (@xep{0045}) */
486
493
GLOOX_API extern const std::string XMLNS_MUC_USER;
488
/** Multi-User Chat namespace (admin) (XEP-0045) */
495
/** Multi-User Chat namespace (admin) (@xep{0045}) */
489
496
GLOOX_API extern const std::string XMLNS_MUC_ADMIN;
491
/** Multi-User Chat namespace (unique) (XEP-0045) */
498
/** Multi-User Chat namespace (unique) (@xep{0045}) */
492
499
GLOOX_API extern const std::string XMLNS_MUC_UNIQUE;
494
/** Multi-User Chat namespace (owner) (XEP-0045) */
501
/** Multi-User Chat namespace (owner) (@xep{0045}) */
495
502
GLOOX_API extern const std::string XMLNS_MUC_OWNER;
497
/** Multi-User Chat namespace (roominfo) (XEP-0045) */
504
/** Multi-User Chat namespace (roominfo) (@xep{0045}) */
498
505
GLOOX_API extern const std::string XMLNS_MUC_ROOMINFO;
500
/** Multi-User Chat namespace (rooms) (XEP-0045) */
507
/** Multi-User Chat namespace (rooms) (@xep{0045}) */
501
508
GLOOX_API extern const std::string XMLNS_MUC_ROOMS;
503
/** Multi-User Chat namespace (request) (XEP-0045) */
510
/** Multi-User Chat namespace (request) (@xep{0045}) */
504
511
GLOOX_API extern const std::string XMLNS_MUC_REQUEST;
506
/** PubSub namespace (XEP-0060) */
513
/** PubSub namespace (@xep{0060}) */
507
514
GLOOX_API extern const std::string XMLNS_PUBSUB;
509
/** PubSub namespace (errors) (XEP-0060) */
516
/** PubSub namespace (errors) (@xep{0060}) */
510
517
GLOOX_API extern const std::string XMLNS_PUBSUB_ERRORS;
512
/** PubSub namespace (event) (XEP-0060) */
519
/** PubSub namespace (event) (@xep{0060}) */
513
520
GLOOX_API extern const std::string XMLNS_PUBSUB_EVENT;
515
/** PubSub namespace (owner) (XEP-0060) */
522
/** PubSub namespace (owner) (@xep{0060}) */
516
523
GLOOX_API extern const std::string XMLNS_PUBSUB_OWNER;
518
/** Entity Capabilities namespace (XEP-0115) */
525
/** Entity Capabilities namespace (@xep{0115}) */
519
526
GLOOX_API extern const std::string XMLNS_CAPS;
521
528
/** SOCKS5 Fast Mode namespace */
542
549
/** Session Create Stream Feature (RFC 3921) */
543
550
GLOOX_API extern const std::string XMLNS_STREAM_SESSION;
545
/** Non-SASL Auth. Stream Feature (XEP-0078) */
552
/** Non-SASL Auth. Stream Feature (@xep{0078}) */
546
553
GLOOX_API extern const std::string XMLNS_STREAM_IQAUTH;
548
/** In-Band Registration namespace (XEP-0077) */
555
/** In-Band Registration namespace (@xep{0077}) */
549
556
GLOOX_API extern const std::string XMLNS_STREAM_IQREGISTER;
551
/** Stream Compression Feature namespace (XEP-0138) */
558
/** Stream Compression Feature namespace (@xep{0138}) */
552
559
GLOOX_API extern const std::string XMLNS_STREAM_COMPRESS;
554
/** General HTTP binding (BOSH) namespace (XEP-0124) */
561
/** General HTTP binding (BOSH) namespace (@xep{0124}) */
555
562
GLOOX_API extern const std::string XMLNS_HTTPBIND;
557
/** XMPP-over-BOSH extensions (XEP-0206) */
564
/** XMPP-over-BOSH extensions (@xep{0206}) */
558
565
GLOOX_API extern const std::string XMLNS_XMPP_BOSH;
560
/** Message Receipt namespace (XEP-0184) */
567
/** Message Receipt namespace (@xep{0184}) */
561
568
GLOOX_API extern const std::string XMLNS_RECEIPTS;
563
/** Message Receipt namespace (XEP-0172) */
570
/** Message Receipt namespace (@xep{0172}) */
564
571
GLOOX_API extern const std::string XMLNS_NICKNAME;
566
/** Jingle namespace (XEP-0166) */
573
/** Jabber RPC namespace (@xep{0009}) */
574
GLOOX_API extern const std::string XMLNS_JABBER_RPC;
576
/** Jingle namespace (@xep{0166}) */
567
577
GLOOX_API extern const std::string XMLNS_JINGLE;
569
/** Jingle Audio via RTP namespace (XEP-0167) */
570
GLOOX_API extern const std::string XMLNS_JINGLE_AUDIO_RTP;
579
/** Jingle error namespace (@xep{0166}) */
580
GLOOX_API extern const std::string XMLNS_JINGLE_ERRORS;
572
/** Jingle ICE-UDP Transport namespace (XEP-0176) */
582
/** Jingle ICE-UDP Transport namespace (@xep{0176}) */
573
583
GLOOX_API extern const std::string XMLNS_JINGLE_ICE_UDP;
575
/** Jingle Raw UDP Transport namespace (XEP-0177) */
576
GLOOX_API extern const std::string XMLNS_JINGLE_RAW_UDP;
578
/** Jingle Video via RTP namespace (XEP-0180) */
579
GLOOX_API extern const std::string XMLNS_JINGLE_VIDEO_RTP;
581
/** Stanza Headers and Internet Metadata (SHIM) namespace (XEP-0131) */
585
/** Jingle File Transfer namespace (@xep{0234}) */
586
GLOOX_API extern const std::string XMLNS_JINGLE_FILE_TRANSFER;
588
/** Jingle File Transfer namespace (multiple files) (@xep{0234}) */
589
GLOOX_API extern const std::string XMLNS_JINGLE_FILE_TRANSFER_MULTI;
591
/** Stanza Headers and Internet Metadata (SHIM) namespace (@xep{0131}) */
582
592
GLOOX_API extern const std::string XMLNS_SHIM;
584
/** Attention namespace (XEP-0224) */
594
/** Attention namespace (@xep{0224}) */
585
595
GLOOX_API extern const std::string XMLNS_ATTENTION;
597
/** Stream Management namespace (@xep{0198}) */
598
GLOOX_API extern const std::string XMLNS_STREAM_MANAGEMENT;
600
/** Stanza Forwarding namespace (@xep{0297}) */
601
GLOOX_API extern const std::string XMLNS_STANZA_FORWARDING;
603
/** Message Carbons namespace (@xep{0280}) */
604
GLOOX_API extern const std::string XMLNS_MESSAGE_CARBONS;
606
/** Use of Cryptographic Hash Functions in XMPP namespace (@xep{0300}) */
607
GLOOX_API extern const std::string XMLNS_HASHES;
588
609
/** Supported stream version (major). */
589
610
GLOOX_API extern const std::string XMPP_STREAM_VERSION_MAJOR;