1use serde::{Deserialize, Serialize};
2use serde_json::{Map, Value};
3
4use crate::DaemonError;
5
6#[derive(Clone, Debug, Serialize)]
8pub struct DaemonRequest<'a> {
9 pub v: u32,
10 pub op: &'a str,
11 pub args: &'a Map<String, Value>,
12}
13
14#[derive(Clone, Debug, Deserialize)]
16pub struct DaemonResponse {
17 pub v: u32,
18 pub ok: bool,
19 #[serde(default)]
20 pub result: Map<String, Value>,
21 #[serde(default)]
22 pub error: Option<DaemonError>,
23}
24
25#[derive(Clone, Debug, Deserialize)]
28pub struct PingResult {
29 #[serde(default)]
30 pub version: String,
31 #[serde(default)]
32 pub pid: u64,
33 #[serde(default)]
34 pub ts: String,
35 #[serde(default)]
36 pub ipc_v: u32,
37 #[serde(default)]
38 pub capabilities: Map<String, Value>,
39 #[serde(default)]
40 pub implementation: Option<String>,
41 #[serde(default)]
42 pub compatibility: Option<String>,
43}