|
Direct-BT v3.3.0-1-gc2d430c
Direct-BT - Direct Bluetooth Programming.
|
BT Core Spec v5.2: Vol 3, Part F ATT: 3.4.3.2 ATT_FIND_INFORMATION_RSP. More...
#include <ATTPDUTypes.hpp>
Classes | |
| class | Element |
| element := { uint16_t handle, UUID value }, with a UUID of UUID16 or UUID128 More... | |
Public Member Functions | |
| AttFindInfoRsp (const jau::nsize_t total_length) | |
| Create an incomplete response with maximal (MTU) length. More... | |
| AttFindInfoRsp (const uint8_t *source, const jau::nsize_t length) | |
| Element | getElement (const jau::nsize_t elementIdx) const |
| uint16_t | getElementHandle (const jau::nsize_t elementIdx) const |
| jau::nsize_t | getElementSize () const override |
| Returns element size. More... | |
| std::unique_ptr< const jau::uuid_t > | getElementValue (const jau::nsize_t elementIdx) const |
| jau::uuid_t::TypeSize | getElementValueFormat () const |
| jau::nsize_t | getElementValueSize () const override |
| Net element-value size, i.e. More... | |
| std::string | getName () const noexcept override |
| constexpr_cxx20 jau::nsize_t | getPDUValueOffset () const noexcept override |
| opcode + format More... | |
| void | setElementHandle (const jau::nsize_t elementIdx, const uint16_t h) |
| void | setElementSize (const uint8_t element_length) override |
| Fixate element length. More... | |
| void | setElementValueUUID (const jau::nsize_t elementIdx, const jau::uuid_t &v) |
Public Member Functions inherited from direct_bt::AttElementList | |
| ~AttElementList () noexcept override=default | |
| constexpr_cxx20 jau::nsize_t | getElementCount () const noexcept |
| Number of elements. More... | |
| jau::nsize_t | getElementPDUOffset (const jau::nsize_t elementIdx) const |
| uint8_t const * | getElementPtr (const jau::nsize_t elementIdx) const |
| virtual jau::nsize_t | getElementSize () const =0 |
| Total size of one element. More... | |
| virtual jau::nsize_t | getElementValueSize () const =0 |
| Net element-value size, i.e. More... | |
| std::string | getName () const noexcept override |
| void | setElementCount (const jau::nsize_t count) |
| Fixate element count. More... | |
| virtual void | setElementSize (const uint8_t element_length)=0 |
| Fixate element length. More... | |
Public Member Functions inherited from direct_bt::AttPDUMsg | |
| AttPDUMsg (AttPDUMsg &&o) noexcept=default | |
| AttPDUMsg (const AttPDUMsg &o)=default | |
| AttPDUMsg (const Opcode opc, const jau::nsize_t size) | |
| Persistent memory, w/ ownership . More... | |
| AttPDUMsg (const uint8_t *source, const jau::nsize_t size) | |
| Persistent memory, w/ ownership . More... | |
| virtual | ~AttPDUMsg () noexcept=default |
| constexpr jau::nsize_t | getAuthSigSize () const noexcept |
| ATT PDU Format Vol 3, Part F 3.3.1. More... | |
| constexpr_cxx20 jau::nsize_t | getMaxPDUValueSize (const jau::nsize_t mtu) const noexcept |
| Returns the theoretical maximum value size of a PDU's attribute value. More... | |
| virtual std::string | getName () const noexcept |
| constexpr bool | getOpAuthSigFlag () const noexcept |
| ATT PDU Format Vol 3, Part F 3.3.1. More... | |
| constexpr Opcode | getOpcode () const noexcept |
| ATT PDU Format Vol 3, Part F 3.3.1. More... | |
| constexpr bool | getOpCommandFlag () const noexcept |
| ATT PDU Format Vol 3, Part F 3.3.1. More... | |
| constexpr Opcode | getOpMethod () const noexcept |
| ATT PDU Format Vol 3, Part F 3.3.1. More... | |
| constexpr_cxx20 jau::nsize_t | getPDUMinSize () const noexcept |
| Returns this PDU's minimum size, i.e. More... | |
| constexpr jau::nsize_t | getPDUParamSize () const noexcept |
| ATT PDU Format Vol 3, Part F 3.3.1. More... | |
| virtual constexpr_cxx20 jau::nsize_t | getPDUValueOffset () const noexcept |
| Returns the octet offset to the value segment in this PDU including the mandatory opcode, i.e. More... | |
| constexpr_cxx20 jau::nsize_t | getPDUValueSize () const noexcept |
| Returns the net octet size of this PDU's attributes value, i.e. More... | |
| AttPDUMsg & | operator= (AttPDUMsg &&o) noexcept=delete |
| AttPDUMsg & | operator= (const AttPDUMsg &o) noexcept=delete |
| virtual std::string | toString () const noexcept |
Protected Member Functions | |
| std::string | addValueString () const override |
| std::string | elementString (const jau::nsize_t idx) const override |
Protected Member Functions inherited from direct_bt::AttElementList | |
| AttElementList (const Opcode opc, const jau::nsize_t size) | |
| AttElementList (const uint8_t *source, const jau::nsize_t length) | |
| virtual std::string | addValueString () const |
| virtual std::string | elementString (const jau::nsize_t idx) const |
| std::string | valueString () const noexcept override |
Protected Member Functions inherited from direct_bt::AttPDUMsg | |
| virtual std::string | baseString () const noexcept |
| void | check_range () |
| void | checkOpcode (const Opcode exp1, const Opcode exp2) const |
| void | checkOpcode (const Opcode expected) const |
| virtual std::string | valueString () const noexcept |
Additional Inherited Members | |
Public Types inherited from direct_bt::AttPDUMsg | |
| enum class | Opcode : uint8_t { PDU_UNDEFINED = 0x00 , METHOD_MASK = 0x3F , COMMAND_FLAG = 0x40 , AUTH_SIGNATURE_FLAG = 0x80 , ERROR_RSP = 0x01 , EXCHANGE_MTU_REQ = 0x02 , EXCHANGE_MTU_RSP = 0x03 , FIND_INFORMATION_REQ = 0x04 , FIND_INFORMATION_RSP = 0x05 , FIND_BY_TYPE_VALUE_REQ = 0x06 , FIND_BY_TYPE_VALUE_RSP = 0x07 , READ_BY_TYPE_REQ = 0x08 , READ_BY_TYPE_RSP = 0x09 , READ_REQ = 0x0A , READ_RSP = 0x0B , READ_BLOB_REQ = 0x0C , READ_BLOB_RSP = 0x0D , READ_MULTIPLE_REQ = 0x0E , READ_MULTIPLE_RSP = 0x0F , READ_BY_GROUP_TYPE_REQ = 0x10 , READ_BY_GROUP_TYPE_RSP = 0x11 , WRITE_REQ = 0x12 , WRITE_RSP = 0x13 , WRITE_CMD = WRITE_REQ + COMMAND_FLAG , PREPARE_WRITE_REQ = 0x16 , PREPARE_WRITE_RSP = 0x17 , EXECUTE_WRITE_REQ = 0x18 , EXECUTE_WRITE_RSP = 0x19 , READ_MULTIPLE_VARIABLE_REQ = 0x20 , READ_MULTIPLE_VARIABLE_RSP = 0x21 , MULTIPLE_HANDLE_VALUE_NTF = 0x23 , HANDLE_VALUE_NTF = 0x1B , HANDLE_VALUE_IND = 0x1D , HANDLE_VALUE_CFM = 0x1E , SIGNED_WRITE_CMD = WRITE_REQ + COMMAND_FLAG + AUTH_SIGNATURE_FLAG } |
| ATT Opcode Summary Vol 3, Part F 3.4.8. More... | |
| enum class | OpcodeType : uint8_t { UNDEFINED = 0 , REQUEST = 1 , RESPONSE = 2 , NOTIFICATION = 3 , INDICATION = 4 } |
| enum class | ReqRespType : bool { REQUEST = true , RESPONSE = false } |
Static Public Member Functions inherited from direct_bt::AttPDUMsg | |
| static constexpr OpcodeType | get_type (const Opcode rhs) noexcept |
| static std::string | getOpcodeString (const Opcode opc) noexcept |
| static std::unique_ptr< const AttPDUMsg > | getSpecialized (const uint8_t *buffer, jau::nsize_t const buffer_size) noexcept |
| Return a newly created specialized instance pointer to base class. More... | |
| static constexpr bool | is_request (const ReqRespType rhs) noexcept |
| static constexpr uint8_t | number (const Opcode rhs) noexcept |
Public Attributes inherited from direct_bt::AttPDUMsg | |
| jau::POctets | pdu |
| actual received PDU More... | |
| const uint64_t | ts_creation |
| creation timestamp in milliseconds More... | |
BT Core Spec v5.2: Vol 3, Part F ATT: 3.4.3.2 ATT_FIND_INFORMATION_RSP.
ATT_FIND_INFORMATION_RSP
Contains a list of elements, each comprised of { handle, [UUID16 | UUID128] } pair. The handle is comprised of two octets, i.e. uint16_t. The UUID is either comprised of 2 octets for UUID16 or 16 octets for UUID128 depending on the given format.
element := { uint16_t handle, UUID value }, with a UUID of UUID16 or UUID128
Used in:
BT Core Spec v5.2: Vol 3, Part G GATT: 4.7.1 Discover All Characteristic Descriptors
Definition at line 1812 of file ATTPDUTypes.hpp.
|
inline |
Definition at line 1847 of file ATTPDUTypes.hpp.
|
inline |
Create an incomplete response with maximal (MTU) length.
User shall set all elements via the set*() methods and finally use setElementSize() to fixate element length and setElementCount() to set element count.
| total_length | maximum |
Definition at line 1904 of file ATTPDUTypes.hpp.
|
inlineoverridevirtualnoexcept |
opcode + format
Reimplemented from direct_bt::AttPDUMsg.
Definition at line 1859 of file ATTPDUTypes.hpp.
|
inlineoverridevirtual |
Returns element size.
element := { uint16_t handle, UUID value }, with a UUID of UUID16 or UUID128
Implements direct_bt::AttElementList.
Definition at line 1867 of file ATTPDUTypes.hpp.
|
inline |
|
inlineoverridevirtual |
Net element-value size, i.e.
element size less handles.
element := { uint16_t handle, UUID value }, with a UUID of UUID16 or UUID128
Implements direct_bt::AttElementList.
Definition at line 1881 of file ATTPDUTypes.hpp.
|
inlineoverridevirtual |
Fixate element length.
| element_length |
Implements direct_bt::AttElementList.
Definition at line 1889 of file ATTPDUTypes.hpp.
|
inline |
|
inline |
Definition at line 1915 of file ATTPDUTypes.hpp.
|
inline |
|
inline |
Definition at line 1922 of file ATTPDUTypes.hpp.
|
inline |
|
inlineoverridevirtualnoexcept |
Reimplemented from direct_bt::AttElementList.
Definition at line 1930 of file ATTPDUTypes.hpp.
|
inlineoverrideprotectedvirtual |
Reimplemented from direct_bt::AttElementList.
Definition at line 1935 of file ATTPDUTypes.hpp.
|
inlineoverrideprotectedvirtual |
Reimplemented from direct_bt::AttElementList.
Definition at line 1937 of file ATTPDUTypes.hpp.