rsiot/components/cmp_leptos/global_state.rs
1use leptos::prelude::*;
2
3use crate::{executor::Cache, message::*};
4
5/// Структура глобального состояния
6#[derive(Clone)]
7pub struct GlobalState<TMsg>
8where
9 TMsg: MsgDataBound + 'static,
10{
11 /// hostname
12 pub hostname: String,
13
14 /// Сигнал для входных сообщений
15 pub input: RwSignal<Option<Message<TMsg>>>,
16
17 /// Сигнал для выходных сообщений
18 pub output: RwSignal<Option<Message<TMsg>>>,
19
20 /// Кеш сообщений
21 pub cache: Cache<TMsg>,
22
23 /// Разрешения
24 pub auth_perm: RwSignal<AuthPermissions>,
25}