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
17pub use api::{LxmfSdk, LxmfSdkAsync, LxmfSdkManualTick};
19pub use api::{
21 LxmfSdkAttachments, LxmfSdkGroupDelivery, LxmfSdkIdentity, LxmfSdkMarkers, LxmfSdkOperations,
22 LxmfSdkPaper, LxmfSdkRemoteCommands, LxmfSdkTelemetry, LxmfSdkTopics, LxmfSdkVoiceSignaling,
23};
24pub 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};
39pub use capability::{
41 effective_capabilities_for_profile, negotiate_contract_version, negotiate_plugins,
42 CapabilityDescriptor, CapabilityState, EffectiveLimits, NegotiationRequest,
43 NegotiationResponse, PluginDescriptor, PluginState,
44};
45pub use client::Client;
47pub 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};
64pub use event::{
66 EventBatch, EventCursor, EventSubscription, SdkEvent, Severity, SubscriptionStart,
67};
68pub 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};
80pub 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";