Skip to main content

rustbac_client/
alarm.rs

1use crate::ClientBitString;
2use rustbac_core::services::acknowledge_alarm::{EventState, TimeStamp};
3use rustbac_core::types::ObjectId;
4use rustbac_datalink::DataLinkAddress;
5
6#[derive(Debug, Clone, PartialEq)]
7pub struct AlarmSummaryItem {
8    pub object_id: ObjectId,
9    pub alarm_state_raw: u32,
10    pub alarm_state: Option<EventState>,
11    pub acknowledged_transitions: ClientBitString,
12}
13
14#[derive(Debug, Clone, PartialEq)]
15pub struct EnrollmentSummaryItem {
16    pub object_id: ObjectId,
17    pub event_type: u32,
18    pub event_state_raw: u32,
19    pub event_state: Option<EventState>,
20    pub priority: u32,
21    pub notification_class: u32,
22}
23
24#[derive(Debug, Clone, PartialEq)]
25pub struct EventInformationItem {
26    pub object_id: ObjectId,
27    pub event_state_raw: u32,
28    pub event_state: Option<EventState>,
29    pub acknowledged_transitions: ClientBitString,
30    pub notify_type: u32,
31    pub event_enable: ClientBitString,
32    pub event_priorities: [u32; 3],
33}
34
35#[derive(Debug, Clone, PartialEq)]
36pub struct EventInformationResult {
37    pub summaries: Vec<EventInformationItem>,
38    pub more_events: bool,
39}
40
41#[derive(Debug, Clone, PartialEq)]
42pub struct EventNotification {
43    pub source: DataLinkAddress,
44    pub confirmed: bool,
45    pub process_id: u32,
46    pub initiating_device_id: ObjectId,
47    pub event_object_id: ObjectId,
48    pub timestamp: TimeStamp,
49    pub notification_class: u32,
50    pub priority: u32,
51    pub event_type: u32,
52    pub message_text: Option<String>,
53    pub notify_type: u32,
54    pub ack_required: Option<bool>,
55    pub from_state_raw: u32,
56    pub from_state: Option<EventState>,
57    pub to_state_raw: u32,
58    pub to_state: Option<EventState>,
59}