signal_cli_jsonrpc_client/lib.rs
1//! JSON-RPC client for signal-cli daemon.
2//!
3//! This crate provides a Rust client for communicating with [signal-cli](https://github.com/AsamK/signal-cli)
4//! running in JSON-RPC daemon mode. It supports both TCP and Unix domain socket connections.
5//!
6//! The RPC interface and transport code is based on the example client code from the signal-cli repository:
7//! <https://github.com/AsamK/signal-cli/blob/master/client/src/jsonrpc.rs>
8
9mod rpc;
10pub(crate) mod transports;
11mod trust_set;
12
13pub use jsonrpsee::core::client::SubscriptionClientT;
14pub use rpc::{
15 DataMessage, Envelope, GroupInfo, Identity, JsonLink, MessageTarget, RecvMessage, RpcClient,
16 RpcClientError, SignalMessage, TrustLevel, connect_ipc, connect_tcp,
17};
18pub use trust_set::{SafetyNumber, SignalTrustSet, Uuid};
19
20/// A subscription to Signal messages from `subscribe_receive`.
21pub type Subscription = jsonrpsee::core::client::Subscription<RecvMessage>;