Skip to main content

bitwarden_ipc/
lib.rs

1#![doc = include_str!("../README.md")]
2
3mod constants;
4mod crypto_provider;
5pub mod discover;
6mod endpoint;
7mod error;
8mod ipc_client;
9mod ipc_client_ext;
10mod ipc_client_trait;
11mod message;
12mod rpc;
13mod serde_utils;
14mod traits;
15
16/// Re-export types to make sure wasm_bindgen picks them up
17#[cfg(feature = "wasm")]
18pub mod wasm;
19
20pub use endpoint::{Endpoint, HostId, Source};
21pub use error::{ReceiveError, RequestError, SendError, SubscribeError, TypedReceiveError};
22pub use ipc_client::{IpcClientImpl, IpcClientSubscription, IpcClientTypedSubscription};
23pub use ipc_client_ext::IpcClientExt;
24pub use ipc_client_trait::IpcClient;
25pub use message::{
26    IncomingMessage, OutgoingMessage, PayloadTypeName, TypedIncomingMessage, TypedOutgoingMessage,
27};
28#[doc(hidden)]
29pub use rpc::exec::handler::ErasedRpcHandler;
30pub use rpc::{exec::handler::RpcHandler, request::RpcRequest};
31#[cfg(any(test, feature = "test-support"))]
32pub use traits::NoEncryptionCryptoProvider;
33#[cfg(any(test, feature = "test-support"))]
34pub use traits::TestCommunicationBackend;
35pub use traits::{InMemorySessionRepository, NoopCommunicationBackend};
36
37// Test configuration of the IPC client, always available in test and test-support contexts.
38#[cfg(any(test, feature = "test-support"))]
39#[allow(missing_docs)]
40pub type TestIpcClient = ipc_client::IpcClientImpl<
41    crate::traits::NoEncryptionCryptoProvider,
42    crate::traits::TestCommunicationBackend,
43    crate::traits::InMemorySessionRepository<()>,
44>;