ble_peripheral_rust/gatt/
descriptor.rs

1use super::properties::{AttributePermission, CharacteristicProperty};
2use uuid::Uuid;
3
4#[derive(Debug, Clone)]
5pub struct Descriptor {
6    pub uuid: Uuid,
7    pub properties: Vec<CharacteristicProperty>,
8    pub permissions: Vec<AttributePermission>,
9    pub value: Option<Vec<u8>>,
10}
11
12impl Default for Descriptor {
13    fn default() -> Self {
14        Descriptor {
15            uuid: Uuid::nil(),
16            properties: vec![
17                CharacteristicProperty::Read,
18                CharacteristicProperty::Write,
19                CharacteristicProperty::Notify,
20            ],
21            permissions: vec![
22                AttributePermission::Readable,
23                AttributePermission::Writeable,
24            ],
25            value: None,
26        }
27    }
28}