gui_server_api/msg/
register.rs1use xous::CID;
5
6use crate::GuiServerError;
7
8#[derive(Debug, server::Message, rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)]
9#[response(Result<(), GuiServerError>)]
10pub struct RegisterAppMessage(pub crate::RegisterApp);
11
12#[derive(Debug, server::Message, rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)]
13#[response(Result<(), GuiServerError>)]
14pub struct RegisterControlCenter {
15 pub cid: CID,
16 pub height: usize,
17}
18
19#[derive(Debug, server::Message, rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)]
20#[response(Result<(), GuiServerError>)]
21pub struct RegisterKeyboard {
22 pub cid: CID,
23 pub height: usize,
24}
25
26pub trait RoleClaim: server::BlockingScalar + Default {}
29
30macro_rules! declare_claim {
31 ($name:ident) => {
32 #[derive(Debug, Default, server::Message)]
33 #[response(())]
34 pub struct $name;
35
36 impl RoleClaim for $name {}
37 };
38}
39
40declare_claim!(ClaimLauncherRole);
41declare_claim!(ClaimSettingsRole);
42declare_claim!(ClaimOnboardingRole);
43declare_claim!(ClaimSwitcherRole);
44declare_claim!(ClaimLockScreenRole);
45declare_claim!(ClaimAlertsRole);