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}