MCPcopy Create free account
hub / github.com/deviceplug/btleplug / find_descriptor

Function find_descriptor

tests/common/mod.rs:7–29  ·  view source on GitHub ↗

Find a descriptor by UUID on a specific characteristic.

(
    peripheral: &btleplug::platform::Peripheral,
    char_uuid: uuid::Uuid,
    descriptor_uuid: uuid::Uuid,
)

Source from the content-addressed store, hash-verified

5
6/// Find a descriptor by UUID on a specific characteristic.
7pub fn find_descriptor(
8 peripheral: &btleplug::platform::Peripheral,
9 char_uuid: uuid::Uuid,
10 descriptor_uuid: uuid::Uuid,
11) -> btleplug::api::Descriptor {
12 use btleplug::api::Peripheral as _;
13 let services = peripheral.services();
14 for service in &services {
15 for char in &service.characteristics {
16 if char.uuid == char_uuid {
17 for desc in &char.descriptors {
18 if desc.uuid == descriptor_uuid {
19 return desc.clone();
20 }
21 }
22 }
23 }
24 }
25 panic!(
26 "descriptor {} not found on characteristic {}",
27 descriptor_uuid, char_uuid
28 );
29}

Callers 2

Calls 1

servicesMethod · 0.45

Tested by 2