Skip to main content

lxmf_sdk/
lib.rs

1#![allow(clippy::result_large_err)]
2
3mod api;
4pub mod app;
5mod backend;
6pub mod capability;
7mod client;
8pub mod domain;
9mod error;
10pub mod event;
11mod lifecycle;
12#[cfg(feature = "std")]
13pub mod messaging;
14pub mod profiles;
15pub mod types;
16
17// Stability class: stable
18pub use api::{LxmfSdk, LxmfSdkAsync, LxmfSdkManualTick};
19// Stability class: experimental (capability-gated extension traits)
20pub use api::{
21    LxmfSdkAttachments, LxmfSdkGroupDelivery, LxmfSdkIdentity, LxmfSdkMarkers, LxmfSdkOperations,
22    LxmfSdkPaper, LxmfSdkRemoteCommands, LxmfSdkTelemetry, LxmfSdkTopics, LxmfSdkVoiceSignaling,
23};
24// Stability class: internal (backend composition surface)
25pub use backend::mobile_ble::{
26    validate_capabilities as validate_mobile_ble_capabilities,
27    validate_event_payload_bounds as validate_mobile_ble_event_payload_bounds,
28    validate_event_sequence as validate_mobile_ble_event_sequence, MobileBleCapabilities,
29    MobileBleConnectRequest, MobileBleEvent, MobileBleEventKind, MobileBleHostAdapter,
30    MobileBleReadRequest, MobileBleReadResult, MobileBleSessionDescriptor, MobileBleWriteAck,
31    MobileBleWriteRequest,
32};
33#[cfg(all(feature = "rpc-backend", feature = "std"))]
34pub use backend::rpc::RpcBackendClient;
35pub use backend::{
36    KeyProviderClass, SdkBackend, SdkBackendAsyncEvents, SdkBackendKeyManagement, SdkKeyPurpose,
37    SdkStoredKey,
38};
39// Stability class: stable
40pub use capability::{
41    effective_capabilities_for_profile, negotiate_contract_version, negotiate_plugins,
42    CapabilityDescriptor, CapabilityState, EffectiveLimits, NegotiationRequest,
43    NegotiationResponse, PluginDescriptor, PluginState,
44};
45// Stability class: internal
46pub use client::Client;
47// Stability class: stable
48pub use domain::{
49    AttachmentDownloadChunk, AttachmentDownloadChunkRequest, AttachmentId, AttachmentListRequest,
50    AttachmentListResult, AttachmentMeta, AttachmentStoreRequest, AttachmentUploadChunkAck,
51    AttachmentUploadChunkRequest, AttachmentUploadCommitRequest, AttachmentUploadId,
52    AttachmentUploadSession, AttachmentUploadStartRequest, ContactListRequest, ContactListResult,
53    ContactRecord, ContactUpdateRequest, GeoPoint, IdentityBootstrapRequest, IdentityBundle,
54    IdentityImportRequest, IdentityRef, IdentityResolveRequest, MarkerCreateRequest,
55    MarkerDeleteRequest, MarkerId, MarkerListRequest, MarkerListResult, MarkerRecord,
56    MarkerUpdatePositionRequest, PaperMessageEnvelope, PresenceListRequest, PresenceListResult,
57    PresenceRecord, RemoteCommandRequest, RemoteCommandResponse, RemoteCommandSession,
58    RemoteCommandSessionListRequest, RemoteCommandSessionListResult, TelemetryPoint,
59    TelemetryQuery, TopicCreateRequest, TopicId, TopicListRequest, TopicListResult, TopicPath,
60    TopicPublishRequest, TopicRecord, TopicSubscriptionRequest, TrustLevel, VoiceSessionId,
61    VoiceSessionOpenRequest, VoiceSessionState, VoiceSessionUpdateRequest,
62};
63pub use error::{code as error_code, ErrorCategory, ErrorDetails, SdkError};
64// Stability class: stable
65pub use event::{
66    EventBatch, EventCursor, EventSubscription, SdkEvent, Severity, SubscriptionStart,
67};
68// Stability class: stable
69pub use lifecycle::{Lifecycle, SdkMethod};
70#[cfg(feature = "std")]
71pub use messaging::{
72    AnnounceRecord, ConversationRecord, MessageDirection, MessageMethod, MessageRecord,
73    MessageState, MessagingStore, PeerRecord, PeerState, SendMessageRequest, StoredOutboundMessage,
74    SyncPhase, SyncStatus,
75};
76pub use profiles::{
77    default_effective_limits, default_memory_budget, required_capabilities, supports_capability,
78    MemoryBudget,
79};
80// Stability class: stable
81pub use types::{
82    Ack, AuthMode, BindMode, CancelResult, ClientHandle, ConfigPatch, DeliverySnapshot,
83    DeliveryState, EventSinkConfig, EventSinkKind, EventSinkPatch, EventStreamConfig,
84    GroupRecipientState, GroupSendOutcome, GroupSendRequest, GroupSendResult, MessageId,
85    OverflowPolicy, Profile, RedactionConfig, RedactionTransform, RpcBackendConfig,
86    RuntimeSnapshot, RuntimeState, SdkConfig, SendRequest, ShutdownMode, StartRequest,
87    StoreForwardCapacityPolicy, StoreForwardConfig, StoreForwardEvictionPriority,
88    StoreForwardPatch, TickBudget, TickResult,
89};
90
91pub const CONTRACT_RELEASE: &str = "v2.5";
92pub const SCHEMA_NAMESPACE: &str = "v2";