pub struct CharacteristicBuilder<'r, 'd, T: AsGatt + ?Sized, M: RawMutex, const MAX: usize> { /* private fields */ }Expand description
Builder for characteristics.
Implementations§
Source§impl<'r, 'd, T: AsGatt + ?Sized, M: RawMutex, const MAX: usize> CharacteristicBuilder<'r, 'd, T, M, MAX>
impl<'r, 'd, T: AsGatt + ?Sized, M: RawMutex, const MAX: usize> CharacteristicBuilder<'r, 'd, T, M, MAX>
Sourcepub fn add_descriptor<DT: AsGatt, U: Into<Uuid>>(
&mut self,
uuid: U,
permissions: AttPermissions,
value: DT,
store: &'d mut [u8],
) -> Descriptor<DT>
pub fn add_descriptor<DT: AsGatt, U: Into<Uuid>>( &mut self, uuid: U, permissions: AttPermissions, value: DT, store: &'d mut [u8], ) -> Descriptor<DT>
Add a characteristic descriptor for this characteristic.
Sourcepub fn add_descriptor_small<DT: AsGatt, U: Into<Uuid>>(
&mut self,
uuid: U,
permissions: AttPermissions,
value: DT,
) -> Descriptor<DT>
pub fn add_descriptor_small<DT: AsGatt, U: Into<Uuid>>( &mut self, uuid: U, permissions: AttPermissions, value: DT, ) -> Descriptor<DT>
Add a characteristic to this service using inline storage. The descriptor value must be 8 bytes or less.
Sourcepub fn add_descriptor_ro<DT: AsGatt + ?Sized, U: Into<Uuid>>(
&mut self,
uuid: U,
read_permission: PermissionLevel,
data: &'d DT,
) -> Descriptor<DT>
pub fn add_descriptor_ro<DT: AsGatt + ?Sized, U: Into<Uuid>>( &mut self, uuid: U, read_permission: PermissionLevel, data: &'d DT, ) -> Descriptor<DT>
Add a read only characteristic descriptor for this characteristic.
Sourcepub fn read_permission(self, read: PermissionLevel) -> Self
pub fn read_permission(self, read: PermissionLevel) -> Self
Set the read permission for this characteristic
Sourcepub fn write_permission(self, write: PermissionLevel) -> Self
pub fn write_permission(self, write: PermissionLevel) -> Self
Set the write permission for this characteristic
Sourcepub fn cccd_permission(self, write: PermissionLevel) -> Self
pub fn cccd_permission(self, write: PermissionLevel) -> Self
Set the write permission for the Client Characteristic Configuration Descriptor for this characteristic
Panics if this characteristic does not have a Client Characteristic Configuration Descriptor.
Sourcepub fn to_raw(self) -> CharacteristicBuilder<'r, 'd, [u8], M, MAX>
pub fn to_raw(self) -> CharacteristicBuilder<'r, 'd, [u8], M, MAX>
Convert this characteristic’s type to raw bytes
Sourcepub fn build(self) -> Characteristic<T>
pub fn build(self) -> Characteristic<T>
Return the built characteristic.
Auto Trait Implementations§
impl<'r, 'd, T, M, const MAX: usize> Freeze for CharacteristicBuilder<'r, 'd, T, M, MAX>where
T: ?Sized,
impl<'r, 'd, T, M, const MAX: usize> !RefUnwindSafe for CharacteristicBuilder<'r, 'd, T, M, MAX>
impl<'r, 'd, T, M, const MAX: usize> Send for CharacteristicBuilder<'r, 'd, T, M, MAX>
impl<'r, 'd, T, M, const MAX: usize> Sync for CharacteristicBuilder<'r, 'd, T, M, MAX>
impl<'r, 'd, T, M, const MAX: usize> Unpin for CharacteristicBuilder<'r, 'd, T, M, MAX>
impl<'r, 'd, T, M, const MAX: usize> !UnwindSafe for CharacteristicBuilder<'r, 'd, T, M, MAX>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more