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}