[][src]Crate xmpp_parsers

A crate parsing common XMPP elements into Rust structures.

Each module implements the TryFrom<Element> trait, which takes a minidom Element and returns a Result whose value is Ok if the element parsed correctly, Err(error::Error) otherwise.

The returned structure can be manipuled as any Rust structure, with each field being public. You can also create the same structure manually, with some having new() and with_*() helper methods to create them.

Once you are happy with your structure, you can serialise it back to an Element, using either From or Into<Element>, which give you what you want to be sending on the wire.

Modules

attention

XEP-0224: Attention

bind

RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core

blocking

XEP-0191: Blocking Command

bookmarks

XEP-0048: Bookmarks

caps

XEP-0115: Entity Capabilities

chatstates

XEP-0085: Chat State Notifications

component

XEP-0114: Jabber Component Protocol

data_forms

XEP-0004: Data Forms

date

XEP-0082: XMPP Date and Time Profiles

delay

XEP-0203: Delayed Delivery

disco

XEP-0030: Service Discovery

ecaps2

XEP-0390: Entity Capabilities 2.0

eme

XEP-0380: Explicit Message Encryption

forwarding

XEP-0297: Stanza Forwarding

hashes

XEP-0300: Use of Cryptographic Hash Functions in XMPP

ibb

XEP-0047: In-Band Bytestreams

ibr

XEP-0077: In-Band Registration

idle

XEP-0319: Last User Interaction in Presence

iq

RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core

jingle

XEP-0166: Jingle

jingle_ft

XEP-0234: Jingle File Transfer

jingle_ibb

XEP-0261: Jingle In-Band Bytestreams Transport Method

jingle_message

XEP-0353: Jingle Message Initiation

jingle_s5b

XEP-0260: Jingle SOCKS5 Bytestreams Transport Method

mam

XEP-0313: Message Archive Management

media_element

XEP-0221: Data Forms Media Element

message

RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core

message_correct

XEP-0308: Last Message Correction

mood

XEP-0107: User Mood

muc

XEP-0045: Multi-User Chat

nick

XEP-0172: User Nickname

ns

XML namespace definitions used through XMPP.

ping

XEP-0199: XMPP Ping

presence

RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core

pubsub

XEP-0060: Publish-Subscribe

receipts

XEP-0184: Message Delivery Receipts

roster

RFC 6121: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence

rsm

XEP-0059: Result Set Management

sasl

RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core

sm

XEP-0198: Stream Management

stanza_error

RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core

stanza_id

XEP-0359: Unique and Stable Stanza IDs

stream

RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core

version

XEP-0092: Software Version

websocket

RFC 7395: An Extensible Messaging and Presence Protocol (XMPP) Subprotocol for WebSocket

Structs

Element

A struct representing a DOM Element.

Jid

A struct representing a Jabber ID.

Enums

Error

Contains one of the potential errors triggered while parsing an Element into a specialised struct.

JidParseError

An error that signifies that a Jid cannot be parsed from a string.

Traits

TryFrom