Skip to main content

openmls/
prelude.rs

1//! Prelude for OpenMLS.
2//! Include this to get access to all the public functions of OpenMLS.
3
4// MlsGroup
5pub use crate::group::{
6    commit_builder::{
7        CommitBuilder, CommitMessageBundle, Complete, ExternalCommitBuilder,
8        ExternalCommitBuilderError, Initial, LoadedPsks, VerifiedExternalCommitBuilder,
9    },
10    Member, *,
11};
12
13pub use crate::group::public_group::{errors::*, PublicGroup};
14
15// Ciphersuite
16pub use crate::ciphersuite::{hash_ref::KeyPackageRef, signable::*, signature::*, *};
17
18// Messages
19pub use crate::messages::{external_proposals::*, proposals::*, proposals_in::*, *};
20
21// Credentials
22pub use crate::credentials::{errors::*, *};
23
24// MLS Versions
25pub use crate::versions::*;
26
27// Extensions
28pub use crate::extensions::{errors::*, *};
29
30// Framing
31pub use crate::framing::{
32    message_in::{MlsMessageBodyIn, MlsMessageIn, ProtocolMessage},
33    message_out::MlsMessageOut,
34    sender::Sender,
35    validation::{ApplicationMessage, ProcessedMessage, ProcessedMessageContent},
36    *,
37};
38
39// Key packages
40pub use crate::key_packages::{errors::*, *};
41
42// Tree
43pub use crate::tree::sender_ratchet::SenderRatchetConfiguration;
44
45// Binary tree
46pub use crate::binary_tree::{LeafNodeIndex, ParentNodeIndex};
47
48// TreeSync
49pub use crate::treesync::{
50    errors::{ApplyUpdatePathError, PublicTreeError},
51    node::leaf_node::{
52        Capabilities, CapabilitiesBuilder, CapabilitiesPolicy, LeafNode, LeafNodeBuildError,
53        LeafNodeParameters,
54    },
55    node::parent_node::ParentNode,
56    node::Node,
57    RatchetTreeIn,
58};
59
60// PSKs
61pub use crate::schedule::psk::{
62    ExternalPsk, PreSharedKeyId, Psk, PskType, ResumptionPsk, ResumptionPskUsage,
63};
64
65// Targeted messages
66#[cfg(feature = "targeted-messages-draft")]
67#[cfg_attr(docsrs, doc(cfg(feature = "targeted-messages-draft")))]
68pub use crate::targeted_messages::{
69    CreateTargetedMessageError, ProcessTargetedMessageError, ProcessedTargetedMessage,
70    TargetedMessage, TargetedMessageIn,
71};
72
73// TLS codec traits
74pub use tls_codec::{self, *};
75
76// Errors
77pub use crate::error::*;
78
79// OpenMLS traits
80pub use openmls_traits::{crypto::OpenMlsCrypto, random::OpenMlsRand, types::*, OpenMlsProvider};