atagen

matrix-rust-sdk

public
Star0
Watch0
ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk.git

Blame: crates/matrix-sdk/src/lib.rs

7ff8adafe9e4atagen2026-10-22 12:30 UTC1
// Copyright 2020 Damir Jelić
7ff8adafe9e4atagen2026-10-22 12:30 UTC2
// Copyright 2020 The Matrix.org Foundation C.I.C.
7ff8adafe9e4atagen2026-10-22 12:30 UTC3
//
7ff8adafe9e4atagen2026-10-22 12:30 UTC4
// Licensed under the Apache License, Version 2.0 (the "License");
7ff8adafe9e4atagen2026-10-22 12:30 UTC5
// you may not use this file except in compliance with the License.
7ff8adafe9e4atagen2026-10-22 12:30 UTC6
// You may obtain a copy of the License at
7ff8adafe9e4atagen2026-10-22 12:30 UTC7
//
7ff8adafe9e4atagen2026-10-22 12:30 UTC8
//     http://www.apache.org/licenses/LICENSE-2.0
7ff8adafe9e4atagen2026-10-22 12:30 UTC9
//
7ff8adafe9e4atagen2026-10-22 12:30 UTC10
// Unless required by applicable law or agreed to in writing, software
7ff8adafe9e4atagen2026-10-22 12:30 UTC11
// distributed under the License is distributed on an "AS IS" BASIS,
7ff8adafe9e4atagen2026-10-22 12:30 UTC12
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
7ff8adafe9e4atagen2026-10-22 12:30 UTC13
// See the License for the specific language governing permissions and
7ff8adafe9e4atagen2026-10-22 12:30 UTC14
// limitations under the License.
7ff8adafe9e4atagen2026-10-22 12:30 UTC15
7ff8adafe9e4atagen2026-10-22 12:30 UTC16
#![recursion_limit = "256"]
7ff8adafe9e4atagen2026-10-22 12:30 UTC17
#![doc = include_str!("../README.md")]
7ff8adafe9e4atagen2026-10-22 12:30 UTC18
#![warn(missing_debug_implementations, missing_docs)]
7ff8adafe9e4atagen2026-10-22 12:30 UTC19
#![cfg_attr(target_family = "wasm", allow(clippy::arc_with_non_send_sync))]
7ff8adafe9e4atagen2026-10-22 12:30 UTC20
#![cfg_attr(docsrs, feature(doc_cfg))]
7ff8adafe9e4atagen2026-10-22 12:30 UTC21
7ff8adafe9e4atagen2026-10-22 12:30 UTC22
pub use async_trait::async_trait;
7ff8adafe9e4atagen2026-10-22 12:30 UTC23
pub use bytes;
7ff8adafe9e4atagen2026-10-22 12:30 UTC24
pub use matrix_sdk_base::{
7ff8adafe9e4atagen2026-10-22 12:30 UTC25
    CallIntentConsensus, ComposerDraft, ComposerDraftType, DraftAttachment, DraftAttachmentContent,
7ff8adafe9e4atagen2026-10-22 12:30 UTC26
    DraftThumbnail, EncryptionState, PredecessorRoom, QueueWedgeError, Room as BaseRoom,
7ff8adafe9e4atagen2026-10-22 12:30 UTC27
    RoomCreateWithCreatorEventContent, RoomDisplayName, RoomHero, RoomInfo,
7ff8adafe9e4atagen2026-10-22 12:30 UTC28
    RoomMember as BaseRoomMember, RoomMemberships, RoomRecencyStamp, RoomState, SessionMeta,
7ff8adafe9e4atagen2026-10-22 12:30 UTC29
    StateChanges, StateStore, StoreError, SuccessorRoom, ThreadingSupport, deserialized_responses,
7ff8adafe9e4atagen2026-10-22 12:30 UTC30
    store::{self, DynStateStore, MemoryStore, StateStoreExt},
7ff8adafe9e4atagen2026-10-22 12:30 UTC31
};
7ff8adafe9e4atagen2026-10-22 12:30 UTC32
pub use matrix_sdk_common::*;
7ff8adafe9e4atagen2026-10-22 12:30 UTC33
pub use reqwest;
7ff8adafe9e4atagen2026-10-22 12:30 UTC34
7ff8adafe9e4atagen2026-10-22 12:30 UTC35
mod account;
7ff8adafe9e4atagen2026-10-22 12:30 UTC36
pub mod attachment;
7ff8adafe9e4atagen2026-10-22 12:30 UTC37
pub mod authentication;
7ff8adafe9e4atagen2026-10-22 12:30 UTC38
mod client;
7ff8adafe9e4atagen2026-10-22 12:30 UTC39
pub mod config;
7ff8adafe9e4atagen2026-10-22 12:30 UTC40
mod deduplicating_handler;
7ff8adafe9e4atagen2026-10-22 12:30 UTC41
#[cfg(feature = "e2e-encryption")]
7ff8adafe9e4atagen2026-10-22 12:30 UTC42
pub mod encryption;
7ff8adafe9e4atagen2026-10-22 12:30 UTC43
mod error;
7ff8adafe9e4atagen2026-10-22 12:30 UTC44
pub mod event_cache;
7ff8adafe9e4atagen2026-10-22 12:30 UTC45
pub mod event_handler;
7ff8adafe9e4atagen2026-10-22 12:30 UTC46
mod http_client;
7ff8adafe9e4atagen2026-10-22 12:30 UTC47
pub mod latest_events;
7ff8adafe9e4atagen2026-10-22 12:30 UTC48
pub mod media;
7ff8adafe9e4atagen2026-10-22 12:30 UTC49
pub mod notification_settings;
7ff8adafe9e4atagen2026-10-22 12:30 UTC50
pub mod paginators;
7ff8adafe9e4atagen2026-10-22 12:30 UTC51
pub mod pusher;
7ff8adafe9e4atagen2026-10-22 12:30 UTC52
pub mod room;
7ff8adafe9e4atagen2026-10-22 12:30 UTC53
pub mod room_directory_search;
7ff8adafe9e4atagen2026-10-22 12:30 UTC54
pub mod room_preview;
7ff8adafe9e4atagen2026-10-22 12:30 UTC55
pub mod send_queue;
7ff8adafe9e4atagen2026-10-22 12:30 UTC56
pub mod utils;
7ff8adafe9e4atagen2026-10-22 12:30 UTC57
pub mod futures {
7ff8adafe9e4atagen2026-10-22 12:30 UTC58
    //! Named futures returned from methods on types in [the crate root][crate].
7ff8adafe9e4atagen2026-10-22 12:30 UTC59
7ff8adafe9e4atagen2026-10-22 12:30 UTC60
    pub use super::client::futures::SendRequest;
7ff8adafe9e4atagen2026-10-22 12:30 UTC61
}
7ff8adafe9e4atagen2026-10-22 12:30 UTC62
pub mod sliding_sync;
7ff8adafe9e4atagen2026-10-22 12:30 UTC63
pub mod sync;
7ff8adafe9e4atagen2026-10-22 12:30 UTC64
#[cfg(feature = "experimental-widgets")]
7ff8adafe9e4atagen2026-10-22 12:30 UTC65
pub mod widget;
7ff8adafe9e4atagen2026-10-22 12:30 UTC66
7ff8adafe9e4atagen2026-10-22 12:30 UTC67
#[cfg(feature = "experimental-search")]
7ff8adafe9e4atagen2026-10-22 12:30 UTC68
pub mod message_search;
7ff8adafe9e4atagen2026-10-22 12:30 UTC69
7ff8adafe9e4atagen2026-10-22 12:30 UTC70
pub use account::Account;
7ff8adafe9e4atagen2026-10-22 12:30 UTC71
pub use authentication::{AuthApi, AuthSession, SessionTokens};
7ff8adafe9e4atagen2026-10-22 12:30 UTC72
pub use client::homeserver_capabilities::HomeserverCapabilities;
7ff8adafe9e4atagen2026-10-22 12:30 UTC73
#[cfg(feature = "experimental-search")]
7ff8adafe9e4atagen2026-10-22 12:30 UTC74
pub mod search_index;
7ff8adafe9e4atagen2026-10-22 12:30 UTC75
pub use client::{
7ff8adafe9e4atagen2026-10-22 12:30 UTC76
    Client, ClientBuildError, ClientBuilder, LoopCtrl, ServerVendorInfo, SessionChange, StoreSizes,
7ff8adafe9e4atagen2026-10-22 12:30 UTC77
    TileServerInfo, sanitize_server_name,
7ff8adafe9e4atagen2026-10-22 12:30 UTC78
};
7ff8adafe9e4atagen2026-10-22 12:30 UTC79
pub use error::{
7ff8adafe9e4atagen2026-10-22 12:30 UTC80
    BeaconError, Error, HttpError, HttpResult, NotificationSettingsError, RefreshTokenError,
7ff8adafe9e4atagen2026-10-22 12:30 UTC81
    Result, RumaApiError,
7ff8adafe9e4atagen2026-10-22 12:30 UTC82
};
7ff8adafe9e4atagen2026-10-22 12:30 UTC83
pub use http_client::TransmissionProgress;
7ff8adafe9e4atagen2026-10-22 12:30 UTC84
#[cfg(all(feature = "e2e-encryption", feature = "sqlite"))]
7ff8adafe9e4atagen2026-10-22 12:30 UTC85
pub use matrix_sdk_sqlite::SqliteCryptoStore;
7ff8adafe9e4atagen2026-10-22 12:30 UTC86
#[cfg(feature = "sqlite")]
7ff8adafe9e4atagen2026-10-22 12:30 UTC87
pub use matrix_sdk_sqlite::{
7ff8adafe9e4atagen2026-10-22 12:30 UTC88
    STATE_STORE_DATABASE_NAME, SqliteEventCacheStore, SqliteMediaStore, SqliteStateStore,
7ff8adafe9e4atagen2026-10-22 12:30 UTC89
    SqliteStoreConfig,
7ff8adafe9e4atagen2026-10-22 12:30 UTC90
};
7ff8adafe9e4atagen2026-10-22 12:30 UTC91
pub use media::Media;
7ff8adafe9e4atagen2026-10-22 12:30 UTC92
pub use pusher::Pusher;
7ff8adafe9e4atagen2026-10-22 12:30 UTC93
pub use room::Room;
7ff8adafe9e4atagen2026-10-22 12:30 UTC94
pub use ruma::{IdParseError, OwnedServerName, ServerName};
7ff8adafe9e4atagen2026-10-22 12:30 UTC95
pub use sliding_sync::{
7ff8adafe9e4atagen2026-10-22 12:30 UTC96
    SlidingSync, SlidingSyncBuilder, SlidingSyncList, SlidingSyncListBuilder,
7ff8adafe9e4atagen2026-10-22 12:30 UTC97
    SlidingSyncListLoadingState, SlidingSyncMode, UpdateSummary,
7ff8adafe9e4atagen2026-10-22 12:30 UTC98
};
7ff8adafe9e4atagen2026-10-22 12:30 UTC99
7ff8adafe9e4atagen2026-10-22 12:30 UTC100
#[cfg(feature = "uniffi")]
7ff8adafe9e4atagen2026-10-22 12:30 UTC101
uniffi::setup_scaffolding!();
7ff8adafe9e4atagen2026-10-22 12:30 UTC102
7ff8adafe9e4atagen2026-10-22 12:30 UTC103
pub mod live_locations_observer;
7ff8adafe9e4atagen2026-10-22 12:30 UTC104
#[cfg(any(test, feature = "testing"))]
7ff8adafe9e4atagen2026-10-22 12:30 UTC105
pub mod test_utils;
7ff8adafe9e4atagen2026-10-22 12:30 UTC106
7ff8adafe9e4atagen2026-10-22 12:30 UTC107
#[cfg(test)]
7ff8adafe9e4atagen2026-10-22 12:30 UTC108
matrix_sdk_test_utils::init_tracing_for_tests!();