Direct-BT v3.3.0-1-gc2d430c
Direct-BT - Direct Bluetooth Programming.
|
List of elements. More...
#include <ATTPDUTypes.hpp>
Public Member Functions | |
~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 | |
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... | |
List of elements.
{ element_size, element[element_size] }, with
element := { uint16_t startHandle, uint16_t endHandle, uint8_t value[value-size] }
Definition at line 1333 of file ATTPDUTypes.hpp.
|
inlineprotected |
Definition at line 1336 of file ATTPDUTypes.hpp.
|
inlineprotected |
Definition at line 1339 of file ATTPDUTypes.hpp.
|
overridedefaultnoexcept |
|
inlineprotectedvirtual |
Reimplemented in direct_bt::AttFindInfoRsp.
Definition at line 1342 of file ATTPDUTypes.hpp.
|
inlineprotectedvirtual |
Reimplemented in direct_bt::AttReadByTypeRsp, direct_bt::AttReadByGroupTypeRsp, and direct_bt::AttFindInfoRsp.
Definition at line 1343 of file ATTPDUTypes.hpp.
|
inlineoverrideprotectedvirtualnoexcept |
Reimplemented from direct_bt::AttPDUMsg.
Definition at line 1345 of file ATTPDUTypes.hpp.
|
pure virtual |
Total size of one element.
Implemented in direct_bt::AttReadByTypeRsp, direct_bt::AttReadByGroupTypeRsp, and direct_bt::AttFindInfoRsp.
|
pure virtual |
Fixate element length.
element_length |
Implemented in direct_bt::AttReadByTypeRsp, direct_bt::AttReadByGroupTypeRsp, and direct_bt::AttFindInfoRsp.
|
pure virtual |
Net element-value size, i.e.
element size less handles.
element := { uint16_t startHandle, uint16_t endHandle, uint8_t value[value-size] }
Implemented in direct_bt::AttReadByTypeRsp, direct_bt::AttReadByGroupTypeRsp, and direct_bt::AttFindInfoRsp.
|
inlinenoexcept |
Number of elements.
Definition at line 1377 of file ATTPDUTypes.hpp.
|
inline |
Fixate element count.
count |
Definition at line 1389 of file ATTPDUTypes.hpp.
|
inline |
|
inline |
Definition at line 1408 of file ATTPDUTypes.hpp.
|
inlineoverridevirtualnoexcept |
Reimplemented from direct_bt::AttPDUMsg.
Reimplemented in direct_bt::AttReadByTypeRsp, direct_bt::AttReadByGroupTypeRsp, and direct_bt::AttFindInfoRsp.
Definition at line 1412 of file ATTPDUTypes.hpp.