60 AdvType type, uint8_t *size,
unsigned instance)
62 char t =
static_cast<char>(type);
64 for (
size_t idx = 1; instance && idx < adv.size(); ++idx)
66 uint8_t len = adv[idx - 1];
89 std::basic_string<uint8_t> &adv,
unsigned instance)
98 std::string((
const char*)(adv.data() + pos + 2), size);
105 std::basic_string<uint8_t> &adv,
unsigned instance)
114 std::string((
const char*)(adv.data() + pos + 2), size);
121 std::basic_string<uint8_t> &adv,
const uint8_t service_uuid[16],
136 if (adv.compare(pos + 2, 16, service_uuid, 16) == 0)
139 if (inst == instance)
142 return std::basic_string<uint8_t>(adv, pos + 2 + 16, size - 16);
149 return std::basic_string<uint8_t>();
static const uint8_t CHAR_PROP_READ_WRITE_NOTIFY[1]
Characteristic read/write/notify property.
AdvType
Advertising types.
@ SERVICE_DATA_128
128-bit service UUID folloed by data
@ NAME_COMPLETE
complete local name
@ NAME_SHORT
shortened local name
static const uint8_t CHAR_PROP_READ_NOTIFY_ACK[1]
Characteristic read/write/notify property.
static const uint8_t CHAR_PROP_WRITE[1]
Characteristic read/write/notify property.
static const uint8_t PRIMARY_SERVICE_UUID[2]
Primary service UUID.
static const uint8_t CHAR_CLIENT_CONFIG_UUID[2]
Characterisitic Client Config Descriptor (CCCD) UUID.
static const uint8_t SECONDARY_SERVICE_UUID[2]
Secondary service UUID.
static std::string adv_find_name_short(std::basic_string< uint8_t > &adv, unsigned instance=1)
Find an advertisment name short type within an advertisement set.
static ssize_t adv_find_data(std::basic_string< uint8_t > &adv, AdvType type, uint8_t *size, unsigned instance=1)
Find an advertisment data within an advertisement set.
static std::basic_string< uint8_t > adv_find_service_data_128(std::basic_string< uint8_t > &adv, const uint8_t service_uuid[16], unsigned instance=1)
Find an advertisment service data 128 type within an advertisement set.
static const uint8_t CHAR_DECLARATOIN_UUID[2]
Characteristic UUID.
static std::string adv_find_name_complete(std::basic_string< uint8_t > &adv, unsigned instance=1)
Find an advertisment name complete type within an advertisement set.