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;
13extern crate digest;
14extern crate sha2;
15extern crate sha3;
16extern crate blake2;
17
18/// Error type returned by every parser on failure.
19pub mod error;
20/// XML namespace definitions used through XMPP.
21pub mod ns;
22
23/// RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
24pub mod message;
25/// RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
26pub mod presence;
27/// RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
28pub mod iq;
29
30/// RFC 6121: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence
31pub mod body;
32/// RFC 6121: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence
33pub mod status;
34
35/// XEP-0004: Data Forms
36pub mod data_forms;
37
38/// XEP-0030: Service Discovery
39pub mod disco;
40
41/// XEP-0047: In-Band Bytestreams
42pub mod ibb;
43
44/// XEP-0059: Result Set Management
45pub mod rsm;
46
47/// XEP-0085: Chat State Notifications
48pub mod chatstates;
49
50/// XEP-0166: Jingle
51pub mod jingle;
52
53/// XEP-0184: Message Delivery Receipts
54pub mod receipts;
55
56/// XEP-0199: XMPP Ping
57pub mod ping;
58
59/// XEP-0203: Delayed Delivery
60pub mod delay;
61
62/// XEP-0221: Data Forms Media Element
63pub mod media_element;
64
65/// XEP-0224: Attention
66pub mod attention;
67
68/// XEP-0234: Jingle File Transfer
69pub mod jingle_ft;
70
71/// XEP-0261: Jingle In-Band Bytestreams Transport Method
72pub mod jingle_ibb;
73
74/// XEP-0297: Stanza Forwarding
75pub mod forwarding;
76
77/// XEP-0300: Use of Cryptographic Hash Functions in XMPP
78pub mod hashes;
79
80/// XEP-0308: Last Message Correction
81pub mod message_correct;
82
83/// XEP-0359: Unique and Stable Stanza IDs
84pub mod stanza_id;
85
86/// XEP-0380: Explicit Message Encryption
87pub mod eme;
88
89/// XEP-0390: Entity Capabilities 2.0
90pub mod ecaps2;