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::{
22    IpcErrorKind, ReceiveError, RequestError, SendError, SubscribeError, TypedReceiveError,
23};
24pub use ipc_client::{IpcClientImpl, IpcClientSubscription, IpcClientTypedSubscription};
25pub use ipc_client_ext::IpcClientExt;
26pub use ipc_client_trait::IpcClient;
27pub use message::{
28    IncomingMessage, OutgoingMessage, PayloadTypeName, TypedIncomingMessage, TypedOutgoingMessage,
29};
30#[doc(hidden)]
31pub use rpc::exec::handler::ErasedRpcHandler;
32pub use rpc::{exec::handler::RpcHandler, request::RpcRequest};
33#[cfg(any(test, feature = "test-support"))]
34pub use traits::NoEncryptionCryptoProvider;
35#[cfg(any(test, feature = "test-support"))]
36pub use traits::TestCommunicationBackend;
37pub use traits::{InMemorySessionRepository, NoopCommunicationBackend};
38
39// Test configuration of the IPC client, always available in test and test-support contexts.
40#[cfg(any(test, feature = "test-support"))]
41#[allow(missing_docs)]
42pub type TestIpcClient = ipc_client::IpcClientImpl<
43    crate::traits::NoEncryptionCryptoProvider,
44    crate::traits::TestCommunicationBackend,
45    crate::traits::InMemorySessionRepository<()>,
46>;