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;
13use minidom::Element;
14
15/// Error type returned by every parser on failure.
16pub mod error;
17/// XML namespace definitions used through XMPP.
18pub mod ns;
19
20/// RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
21pub mod message;
22/// RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core
23pub mod body;
24
25/// XEP-0004: Data Forms
26pub mod data_forms;
27
28/// XEP-0030: Service Discovery
29pub mod disco;
30
31/// XEP-0047: In-Band Bytestreams
32pub mod ibb;
33
34/// XEP-0085: Chat State Notifications
35pub mod chatstates;
36
37/// XEP-0166: Jingle
38pub mod jingle;
39
40/// XEP-0184: Message Delivery Receipts
41pub mod receipts;
42
43/// XEP-0199: XMPP Ping
44pub mod ping;
45
46/// XEP-0203: Delayed Delivery
47pub mod delay;
48
49/// XEP-0221: Data Forms Media Element
50pub mod media_element;
51
52/// XEP-0224: Attention
53pub mod attention;
54
55/// XEP-0234: Jingle File Transfer
56pub mod jingle_ft;
57
58/// XEP-0261: Jingle In-Band Bytestreams Transport Method
59pub mod jingle_ibb;
60
61/// XEP-0300: Use of Cryptographic Hash Functions in XMPP
62pub mod hashes;
63
64/// XEP-0308: Last Message Correction
65pub mod message_correct;
66
67/// XEP-0380: Explicit Message Encryption
68pub mod eme;
69
70/// XEP-0390: Entity Capabilities 2.0
71pub mod ecaps2;