2019-03-11 19:00:25 +00:00
|
|
|
//! XMPP implementation with asynchronous I/O using Tokio.
|
2018-08-02 17:58:19 +00:00
|
|
|
|
2021-09-02 01:21:25 +00:00
|
|
|
#![deny(unsafe_code, missing_docs, bare_trait_objects)]
|
2020-03-15 23:34:46 +00:00
|
|
|
|
2024-04-20 19:22:25 +00:00
|
|
|
#[cfg(all(
|
|
|
|
not(xmpprs_doc_build),
|
|
|
|
not(doc),
|
|
|
|
feature = "tls-native",
|
|
|
|
feature = "tls-rust"
|
|
|
|
))]
|
2023-10-24 16:24:04 +00:00
|
|
|
compile_error!("Both tls-native and tls-rust features can't be enabled at the same time.");
|
|
|
|
|
2023-12-31 03:08:37 +00:00
|
|
|
#[cfg(all(
|
|
|
|
feature = "starttls",
|
|
|
|
not(feature = "tls-native"),
|
|
|
|
not(feature = "tls-rust")
|
|
|
|
))]
|
|
|
|
compile_error!(
|
|
|
|
"when starttls feature enabled one of tls-native and tls-rust features must be enabled."
|
|
|
|
);
|
2023-10-24 17:58:59 +00:00
|
|
|
|
2023-12-31 03:08:37 +00:00
|
|
|
#[cfg(feature = "starttls")]
|
|
|
|
pub mod starttls;
|
2018-12-18 18:04:31 +00:00
|
|
|
mod stream_start;
|
2024-01-01 06:13:51 +00:00
|
|
|
#[cfg(feature = "insecure-tcp")]
|
|
|
|
pub mod tcp;
|
2020-03-15 23:34:46 +00:00
|
|
|
mod xmpp_codec;
|
2024-06-15 13:21:20 +00:00
|
|
|
pub use crate::xmpp_codec::{Packet, XmppCodec};
|
2017-07-23 00:46:47 +00:00
|
|
|
mod event;
|
2020-05-29 22:14:32 +00:00
|
|
|
pub use event::Event;
|
|
|
|
mod client;
|
2023-12-31 03:08:37 +00:00
|
|
|
pub mod connect;
|
2020-03-18 00:12:48 +00:00
|
|
|
pub mod stream_features;
|
2020-05-29 22:14:32 +00:00
|
|
|
pub mod xmpp_stream;
|
2023-12-31 03:08:37 +00:00
|
|
|
|
2023-03-20 16:27:13 +00:00
|
|
|
pub use client::{
|
2023-12-31 03:08:37 +00:00
|
|
|
async_client::{Client as AsyncClient, Config as AsyncConfig},
|
2023-12-29 06:09:33 +00:00
|
|
|
simple_client::Client as SimpleClient,
|
2023-03-20 16:27:13 +00:00
|
|
|
};
|
2017-07-22 00:59:51 +00:00
|
|
|
mod component;
|
2018-12-18 17:29:31 +00:00
|
|
|
pub use crate::component::Component;
|
2018-09-06 15:46:06 +00:00
|
|
|
mod error;
|
2023-12-31 03:08:37 +00:00
|
|
|
pub use crate::error::{AuthError, Error, ParseError, ProtocolError};
|
2023-08-17 14:17:13 +00:00
|
|
|
|
|
|
|
// Re-exports
|
|
|
|
pub use minidom::Element;
|
|
|
|
pub use xmpp_parsers as parsers;
|
|
|
|
pub use xmpp_parsers::{BareJid, FullJid, Jid, JidParseError};
|