bitwarden_ipc/discover/
mod.rs1#![doc = include_str!("README.md")]
2
3use serde::{Deserialize, Serialize};
4#[cfg(feature = "wasm")]
5use {tsify::Tsify, wasm_bindgen::prelude::*};
6
7use crate::{RpcHandler, rpc::request::RpcRequest};
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
10pub struct DiscoverRequest;
12
13#[derive(Debug, Clone, Serialize, Deserialize)]
14#[cfg_attr(feature = "wasm", derive(Tsify), tsify(into_wasm_abi, from_wasm_abi))]
15pub struct DiscoverResponse {
17 pub version: String,
19}
20
21impl RpcRequest for DiscoverRequest {
22 type Response = DiscoverResponse;
23
24 const NAME: &str = "DiscoverRequest";
25}
26
27pub struct DiscoverHandler {
30 response: DiscoverResponse,
31}
32
33impl DiscoverHandler {
34 pub fn new(response: DiscoverResponse) -> Self {
36 Self { response }
37 }
38}
39
40impl RpcHandler for DiscoverHandler {
41 type Request = DiscoverRequest;
42
43 async fn handle(&self, _request: Self::Request) -> DiscoverResponse {
44 self.response.clone()
45 }
46}