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