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