1use crate::ClientDataValue;
2use rustbac_core::types::{ObjectId, PropertyId};
3use rustbac_datalink::DataLinkAddress;
4
5#[derive(Debug, Clone, PartialEq)]
6#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
7pub struct CovPropertyValue {
8 pub property_id: PropertyId,
9 pub array_index: Option<u32>,
10 pub value: ClientDataValue,
11 pub priority: Option<u8>,
12}
13
14#[derive(Debug, Clone, PartialEq)]
15#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
16pub struct CovNotification {
17 pub source: DataLinkAddress,
18 pub confirmed: bool,
19 pub subscriber_process_id: u32,
20 pub initiating_device_id: ObjectId,
21 pub monitored_object_id: ObjectId,
22 pub time_remaining_seconds: u32,
23 pub values: Vec<CovPropertyValue>,
24}