1use super::*;
5pub use crate::types::messages::*;
6
7#[derive(Debug, server::Message)]
8#[response(global::BoardRevision)]
9pub struct GetBoardRevision;
10
11#[derive(Debug, server::Message)]
12#[response(global::SystemTheme)]
13pub struct GetPrimeColor;
14
15#[derive(Debug, server::Message)]
16pub struct FlushAll {
17 pub force: bool,
20}
21
22impl server::FromScalar<1> for FlushAll {
23 fn from_scalar([force]: [u32; 1]) -> Self { Self { force: force != 0 } }
24}
25
26impl server::AsScalar<1> for FlushAll {
27 fn as_scalar(&self) -> [u32; 1] { [self.force as u32] }
28}
29
30#[derive(Debug, server::Message, rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)]
31#[response(global::TimeZone)]
32pub struct LookupTimeZone {
33 pub name: String,
34 pub offset_minutes: i32,
35}
36
37#[derive(Debug, server::Message, rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)]
38#[response(Vec<global::TimeZone>)]
39pub struct ListTimeZone {
40 pub offset: Option<u32>,
41 pub count: Option<u32>,
42}
43
44#[derive(Debug, server::Message)]
45#[response(())]
46pub struct ResetSettings;