Skip to main content

rustbac_client/
cov.rs

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}