82 lines
3.0 KiB
Rust
82 lines
3.0 KiB
Rust
#![doc(html_favicon_url = "https://www.ruma.io/favicon.ico")]
|
|
#![doc(html_logo_url = "https://www.ruma.io/images/logo.png")]
|
|
//! Types and traits for working with the Matrix protocol.
|
|
//!
|
|
//! This crate re-exports things from all of the other ruma crates so you don't
|
|
//! have to manually keep all the versions in sync.
|
|
//!
|
|
//! Which crates are re-exported can be configured through cargo features.
|
|
//! Depending on which parts of Matrix are relevant to you, activate the
|
|
//! following features:
|
|
//!
|
|
//! * `client-api` for the client-server API
|
|
//! * `federation-api` for the server-server (federation) API
|
|
//! * `appservice-api` for the application service API
|
|
//!
|
|
//! There's also the features `api`, `events` and `signatures` for the
|
|
//! submodules of the same names. Usually they are activated by one of the
|
|
//! other features when needed. If you are viewing this on `docs.rs`, you can
|
|
//! have a look at the feature dependencies by clicking 'Feature flags' in the
|
|
//! toolbar at the top.
|
|
|
|
#![deny(missing_docs)]
|
|
#![cfg_attr(docsrs, feature(doc_cfg))]
|
|
|
|
#[doc(no_inline)]
|
|
pub use assign::assign;
|
|
#[doc(no_inline)]
|
|
pub use js_int::{int, uint, Int, UInt};
|
|
|
|
pub use ruma_common::*;
|
|
#[doc(inline)]
|
|
pub use ruma_identifiers as identifiers;
|
|
#[doc(inline)]
|
|
pub use ruma_serde as serde;
|
|
|
|
pub use ruma_serde::Outgoing;
|
|
|
|
#[allow(deprecated)] // Allow re-export of deprecated items
|
|
pub use ruma_identifiers::{
|
|
device_id, device_key_id, event_id, mxc_uri, room_alias_id, room_id, room_version_id,
|
|
server_key_id, server_name, server_signing_key_id, user_id, DeviceId, DeviceKeyAlgorithm,
|
|
DeviceKeyId, EventId, MxcUri, RoomAliasId, RoomId, RoomIdOrAliasId, RoomVersionId, ServerName,
|
|
ServerSigningKeyId, SigningKeyAlgorithm, UserId,
|
|
};
|
|
|
|
#[cfg(feature = "events")]
|
|
#[cfg_attr(docsrs, doc(cfg(feature = "events")))]
|
|
#[doc(inline)]
|
|
pub use ruma_events as events;
|
|
#[cfg(feature = "signatures")]
|
|
#[cfg_attr(docsrs, doc(cfg(feature = "signatures")))]
|
|
#[doc(inline)]
|
|
pub use ruma_signatures as signatures;
|
|
|
|
/// Rust types for various Matrix APIs requests and responses and abstractions for them.
|
|
#[cfg(feature = "api")]
|
|
#[cfg_attr(docsrs, doc(cfg(feature = "api")))]
|
|
pub mod api {
|
|
pub use ruma_api::*;
|
|
|
|
#[cfg(feature = "appservice-api")]
|
|
#[cfg_attr(docsrs, doc(cfg(feature = "appservice-api")))]
|
|
#[doc(inline)]
|
|
pub use ruma_appservice_api as appservice;
|
|
#[cfg(feature = "client-api")]
|
|
#[cfg_attr(docsrs, doc(cfg(feature = "client-api")))]
|
|
#[doc(inline)]
|
|
pub use ruma_client_api as client;
|
|
#[cfg(feature = "federation-api")]
|
|
#[cfg_attr(docsrs, doc(cfg(feature = "federation-api")))]
|
|
#[doc(inline)]
|
|
pub use ruma_federation_api as federation;
|
|
#[cfg(feature = "identity-service-api")]
|
|
#[cfg_attr(docsrs, doc(cfg(feature = "identity-service-api")))]
|
|
#[doc(inline)]
|
|
pub use ruma_identity_service_api as identity_service;
|
|
#[cfg(feature = "push-gateway-api")]
|
|
#[cfg_attr(docsrs, doc(cfg(feature = "push-gateway-api")))]
|
|
#[doc(inline)]
|
|
pub use ruma_push_gateway_api as push_gateway;
|
|
}
|