bitwarden_ipc/rpc/
response_message.rs1use erased_serde::Serialize as ErasedSerialize;
2use serde::{Deserialize, Serialize};
3
4use super::error::RpcError;
5use crate::message::PayloadTypeName;
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct IncomingRpcResponseMessage<T> {
9 pub result: Result<T, RpcError>,
10 pub request_id: String,
11 pub request_type: String,
12}
13
14#[derive(Serialize)]
15pub struct OutgoingRpcResponseMessage<'a> {
16 pub result: Result<Box<dyn ErasedSerialize>, RpcError>,
17 pub request_id: &'a str,
18 pub request_type: &'a str,
19}
20
21impl<T> PayloadTypeName for IncomingRpcResponseMessage<T> {
22 const PAYLOAD_TYPE_NAME: &str = "RpcResponseMessage";
23}
24
25impl<'a> PayloadTypeName for OutgoingRpcResponseMessage<'a> {
26 const PAYLOAD_TYPE_NAME: &'static str = "RpcResponseMessage";
27}