bacnet_client/client/
object_mgmt.rs1use super::*;
2
3impl<T: TransportPort + 'static> BACnetClient<T> {
4 pub async fn delete_object(
6 &self,
7 destination_mac: &[u8],
8 object_identifier: bacnet_types::primitives::ObjectIdentifier,
9 ) -> Result<(), Error> {
10 use bacnet_services::object_mgmt::DeleteObjectRequest;
11
12 let request = DeleteObjectRequest { object_identifier };
13 let mut buf = BytesMut::new();
14 request.encode(&mut buf);
15
16 let _ = self
17 .confirmed_request(destination_mac, ConfirmedServiceChoice::DELETE_OBJECT, &buf)
18 .await?;
19
20 Ok(())
21 }
22
23 pub async fn create_object(
25 &self,
26 destination_mac: &[u8],
27 object_specifier: bacnet_services::object_mgmt::ObjectSpecifier,
28 initial_values: Vec<bacnet_services::common::BACnetPropertyValue>,
29 ) -> Result<Bytes, Error> {
30 use bacnet_services::object_mgmt::CreateObjectRequest;
31
32 let request = CreateObjectRequest {
33 object_specifier,
34 list_of_initial_values: initial_values,
35 };
36 let mut buf = BytesMut::new();
37 request.encode(&mut buf);
38
39 self.confirmed_request(destination_mac, ConfirmedServiceChoice::CREATE_OBJECT, &buf)
40 .await
41 }
42}