rsiot/components/cmp_plc/plc/library/event_processing/event/
i.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
use serde::{Deserialize, Serialize};
use uuid::Uuid;

use super::super::EventSeverity;

/// Входная структура
#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
pub struct I {
    /// Идентификатор события
    pub id: Uuid,

    /// Сигнал наступления события
    pub signal: bool,

    /// Уровень события
    pub event_severity: EventSeverity,

    /// Текст события
    pub text: String,

    /// Команда с hmi
    pub hmi_command: IHmiCommand,
}

/// Команда с hmi
#[derive(Clone, Copy, Debug, Default, Deserialize, PartialEq, Serialize)]
pub enum IHmiCommand {
    /// Нет команды - по-умолчанию
    #[default]
    NoCommand,

    /// Квитирование сообщения из Hmi
    Ack(Uuid),

    /// Квитирование всех сообщений
    AckAll,
}