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