1//! A crate parsing common XMPP elements into Rust structures.
2//!
3//! Each module implements a `parse` function, which takes a minidom
4//! `Element` reference and returns `Some(MessagePayload)` if the parsing
5//! succeeded, None otherwise.
6//!
7//! Parsed structs can then be manipulated internally, and serialised back
8//! before being sent over the wire.
9
10extern crate minidom;
11extern crate jid;
12extern crate base64;
13
14/// Error type returned by every parser on failure.
15pub mod error;
16/// XML namespace definitions used through XMPP.
17pub mod ns;
18
19/// RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
20pub mod message;
21/// RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
22pub mod presence;
23/// RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
24pub mod body;
25
26/// XEP-0004: Data Forms
27pub mod data_forms;
28
29/// XEP-0030: Service Discovery
30pub mod disco;
31
32/// XEP-0047: In-Band Bytestreams
33pub mod ibb;
34
35/// XEP-0085: Chat State Notifications
36pub mod chatstates;
37
38/// XEP-0166: Jingle
39pub mod jingle;
40
41/// XEP-0184: Message Delivery Receipts
42pub mod receipts;
43
44/// XEP-0199: XMPP Ping
45pub mod ping;
46
47/// XEP-0203: Delayed Delivery
48pub mod delay;
49
50/// XEP-0221: Data Forms Media Element
51pub mod media_element;
52
53/// XEP-0224: Attention
54pub mod attention;
55
56/// XEP-0234: Jingle File Transfer
57pub mod jingle_ft;
58
59/// XEP-0261: Jingle In-Band Bytestreams Transport Method
60pub mod jingle_ibb;
61
62/// XEP-0300: Use of Cryptographic Hash Functions in XMPP
63pub mod hashes;
64
65/// XEP-0308: Last Message Correction
66pub mod message_correct;
67
68/// XEP-0380: Explicit Message Encryption
69pub mod eme;
70
71/// XEP-0390: Entity Capabilities 2.0
72pub mod ecaps2;