26#ifndef BT_GATT_DESCRIPTOR_HPP_
27#define BT_GATT_DESCRIPTOR_HPP_
77 std::weak_ptr<BTGattChar> wbr_char;
79 std::string toShortString()
const noexcept;
110 std::unique_ptr<const jau::uuid_t>
type;
124 const uint16_t handle_) noexcept
125 : wbr_char(characteristic),
type(std::move(type_)),
handle(handle_),
173 bool readValue(
int expectedLength=-1) noexcept;
193 {
return lhs.
handle == rhs.handle; }
196 {
return !(lhs == rhs); }
BTDevice represents one remote Bluetooth device.
Representing a Gatt Characteristic Descriptor object from the GATTRole::Client perspective.
bool writeValue() noexcept
BT Core Spec v5.2: Vol 3, Part G GATT: 4.12.3 Write Characteristic Descriptors.
BTGattDesc(const BTGattCharRef &characteristic, std::unique_ptr< const jau::uuid_t > &&type_, const uint16_t handle_) noexcept
const uint16_t handle
Characteristic Descriptor Handle.
std::shared_ptr< BTGattChar > getGattCharUnchecked() const noexcept
bool isClientCharConfig() const noexcept
static const std::shared_ptr< jau::uuid_t > TYPE_CCC_DESC
std::unique_ptr< const jau::uuid_t > type
Type of descriptor.
Type
Following UUID16 GATT profile attribute types are listed under: BT Core Spec v5.2: Vol 3,...
@ CHARACTERISTIC_USER_DESCRIPTION
@ SERVER_CHARACTERISTIC_CONFIGURATION
@ CHARACTERISTIC_EXTENDED_PROPERTIES
@ CHARACTERISTIC_PRESENTATION_FORMAT
@ CUSTOM_CHARACTERISTIC_DESCRIPTION
Our identifier to mark a custom vendor Characteristic Descriptor.
@ CLIENT_CHARACTERISTIC_CONFIGURATION
@ CHARACTERISTIC_AGGREGATE_FORMAT
bool readValue(int expectedLength=-1) noexcept
BT Core Spec v5.2: Vol 3, Part G GATT: 4.12.1 Read Characteristic Descriptor.
std::string toString() const noexcept override
bool isUserDescription() const noexcept
bool isExtendedProperties() const noexcept
Value is uint16_t bitfield.
std::string get_java_class() const noexcept override
std::shared_ptr< BTGattChar > getGattCharChecked() const
static const std::shared_ptr< jau::uuid_t > TYPE_USER_DESC
static const std::shared_ptr< jau::uuid_t > TYPE_EXT_PROP
std::shared_ptr< BTGattHandler > getGattHandlerUnchecked() const noexcept
static std::string java_class() noexcept
std::shared_ptr< BTDevice > getDeviceUnchecked() const noexcept
Persistent endian aware octet data, i.e.
@ little
Identifier for little endian, equivalent to endian::little.
bool operator!=(const BTAdapter &lhs, const BTAdapter &rhs) noexcept
std::shared_ptr< BTGattChar > BTGattCharRef
std::shared_ptr< BTGattDesc > BTGattDescRef