Direct-BT  2.3.1
Direct-BT - Direct Bluetooth Programming.
Classes | Public Member Functions | Protected Member Functions | List of all members
direct_bt::AttFindInfoRsp Class Reference

ATT Protocol PDUs Vol 3, Part F 3.4.3.2. More...

#include <ATTPDUTypes.hpp>

Inheritance diagram for direct_bt::AttFindInfoRsp:
Collaboration diagram for direct_bt::AttFindInfoRsp:

Classes

class  Element
 element := { uint16_t handle, UUID value }, with a UUID of UUID16 or UUID128 More...
 

Public Member Functions

 AttFindInfoRsp (const uint8_t *source, const jau::nsize_t length)
 
constexpr_cxx20 jau::nsize_t getPDUValueOffset () const noexcept override
 opcode + format More...
 
jau::nsize_t getElementTotalSize () const override
 Returns size of each element, i.e. More...
 
jau::nsize_t getElementValueSize () const override
 Net element-value size, i.e. More...
 
jau::nsize_t getElementCount () const override
 
Element getElement (const jau::nsize_t elementIdx) const
 
uint16_t getElementHandle (const jau::nsize_t elementIdx) const
 
std::unique_ptr< const uuid_tgetElementValue (const jau::nsize_t elementIdx) const
 
constexpr_cxx20 std::string getName () const noexcept override
 
- Public Member Functions inherited from direct_bt::AttElementList
virtual ~AttElementList () noexcept override
 
jau::nsize_t getElementPDUOffset (const jau::nsize_t elementIdx) const
 
uint8_t const * getElementPtr (const jau::nsize_t elementIdx) const
 
- Public Member Functions inherited from direct_bt::AttPDUMsg
 AttPDUMsg (const uint8_t *source, const jau::nsize_t size)
 Persistent memory, w/ ownership . More...
 
 AttPDUMsg (const Opcode opc, const jau::nsize_t size)
 Persistent memory, w/ ownership . More...
 
 AttPDUMsg (const AttPDUMsg &o) noexcept=default
 
 AttPDUMsg (AttPDUMsg &&o) noexcept=default
 
AttPDUMsgoperator= (const AttPDUMsg &o) noexcept=delete
 
AttPDUMsgoperator= (AttPDUMsg &&o) noexcept=delete
 
virtual ~AttPDUMsg () noexcept
 
constexpr Opcode getOpcode () 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 bool getOpCommandFlag () const noexcept
 ATT PDU Format Vol 3, Part F 3.3.1. More...
 
constexpr bool getOpAuthSigFlag () const noexcept
 ATT PDU Format Vol 3, Part F 3.3.1. More...
 
constexpr jau::nsize_t getAuthSigSize () const noexcept
 ATT PDU Format Vol 3, Part F 3.3.1. More...
 
constexpr jau::nsize_t getPDUParamSize () 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_cxx20 jau::nsize_t getPDUValueSize () const noexcept
 Returns the octet size of the value attributes in this PDI, i.e. More...
 
constexpr_cxx20 jau::nsize_t getMaxPDUValueSize (const jau::nsize_t mtu) const noexcept
 Returns the theoretical maximum value size of a PDU. More...
 
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 uint8_t *source, const jau::nsize_t length)
 
std::string valueString () const noexcept override
 
- Protected Member Functions inherited from direct_bt::AttPDUMsg
void checkOpcode (const Opcode expected) const
 
void checkOpcode (const Opcode exp1, const Opcode exp2) const
 
virtual std::string baseString () const noexcept
 

Additional Inherited Members

- Public Types inherited from direct_bt::AttPDUMsg
enum  Opcode : uint8_t {
  Opcode::PDU_UNDEFINED = 0x00, Opcode::METHOD_MASK = 0x3F, Opcode::COMMAND_FLAG = 0x40, Opcode::AUTH_SIGNATURE_FLAG = 0x80,
  Opcode::ERROR_RSP = 0x01, Opcode::EXCHANGE_MTU_REQ = 0x02, Opcode::EXCHANGE_MTU_RSP = 0x03, Opcode::FIND_INFORMATION_REQ = 0x04,
  Opcode::FIND_INFORMATION_RSP = 0x05, Opcode::FIND_BY_TYPE_VALUE_REQ = 0x06, Opcode::FIND_BY_TYPE_VALUE_RSP = 0x07, Opcode::READ_BY_TYPE_REQ = 0x08,
  Opcode::READ_BY_TYPE_RSP = 0x09, Opcode::READ_REQ = 0x0A, Opcode::READ_RSP = 0x0B, Opcode::READ_BLOB_REQ = 0x0C,
  Opcode::READ_BLOB_RSP = 0x0D, Opcode::READ_MULTIPLE_REQ = 0x0E, Opcode::READ_MULTIPLE_RSP = 0x0F, Opcode::READ_BY_GROUP_TYPE_REQ = 0x10,
  Opcode::READ_BY_GROUP_TYPE_RSP = 0x11, Opcode::WRITE_REQ = 0x12, Opcode::WRITE_RSP = 0x13, Opcode::WRITE_CMD = WRITE_REQ + COMMAND_FLAG,
  Opcode::PREPARE_WRITE_REQ = 0x16, Opcode::PREPARE_WRITE_RSP = 0x17, Opcode::EXECUTE_WRITE_REQ = 0x18, Opcode::EXECUTE_WRITE_RSP = 0x19,
  Opcode::READ_MULTIPLE_VARIABLE_REQ = 0x20, Opcode::READ_MULTIPLE_VARIABLE_RSP = 0x21, Opcode::MULTIPLE_HANDLE_VALUE_NTF = 0x23, Opcode::HANDLE_VALUE_NTF = 0x1B,
  Opcode::HANDLE_VALUE_IND = 0x1D, Opcode::HANDLE_VALUE_CFM = 0x1E, Opcode::SIGNED_WRITE_CMD = WRITE_REQ + COMMAND_FLAG + AUTH_SIGNATURE_FLAG
}
 ATT Opcode Summary Vol 3, Part F 3.4.8. More...
 
- Static Public Member Functions inherited from direct_bt::AttPDUMsg
static constexpr uint8_t number (const Opcode rhs) noexcept
 
static std::string getOpcodeString (const Opcode opc) noexcept
 
static std::unique_ptr< const AttPDUMsggetSpecialized (const uint8_t *buffer, jau::nsize_t const buffer_size) noexcept
 Return a newly created specialized instance pointer to base class. More...
 
- Public Attributes inherited from direct_bt::AttPDUMsg
POctets pdu
 actual received PDU More...
 
const uint64_t ts_creation
 creation timestamp in milliseconds More...
 

Detailed Description

ATT Protocol PDUs Vol 3, Part F 3.4.3.2.

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 1395 of file ATTPDUTypes.hpp.

Constructor & Destructor Documentation

◆ AttFindInfoRsp()

direct_bt::AttFindInfoRsp::AttFindInfoRsp ( const uint8_t *  source,
const jau::nsize_t  length 
)
inline

Definition at line 1422 of file ATTPDUTypes.hpp.

Here is the call graph for this function:

Member Function Documentation

◆ addValueString()

std::string direct_bt::AttFindInfoRsp::addValueString ( ) const
inlineoverrideprotectedvirtual

Reimplemented from direct_bt::AttElementList.

Definition at line 1469 of file ATTPDUTypes.hpp.

Here is the call graph for this function:

◆ elementString()

std::string direct_bt::AttFindInfoRsp::elementString ( const jau::nsize_t  idx) const
inlineoverrideprotectedvirtual

Reimplemented from direct_bt::AttElementList.

Definition at line 1471 of file ATTPDUTypes.hpp.

Here is the call graph for this function:

◆ getElement()

Element direct_bt::AttFindInfoRsp::getElement ( const jau::nsize_t  elementIdx) const
inline

Definition at line 1452 of file ATTPDUTypes.hpp.

Here is the caller graph for this function:

◆ getElementCount()

jau::nsize_t direct_bt::AttFindInfoRsp::getElementCount ( ) const
inlineoverridevirtual

Implements direct_bt::AttElementList.

Definition at line 1448 of file ATTPDUTypes.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getElementHandle()

uint16_t direct_bt::AttFindInfoRsp::getElementHandle ( const jau::nsize_t  elementIdx) const
inline

Definition at line 1456 of file ATTPDUTypes.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getElementTotalSize()

jau::nsize_t direct_bt::AttFindInfoRsp::getElementTotalSize ( ) const
inlineoverridevirtual

Returns size of each element, i.e.

handle-value tuple.

Implements direct_bt::AttElementList.

Definition at line 1434 of file ATTPDUTypes.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getElementValue()

std::unique_ptr<const uuid_t> direct_bt::AttFindInfoRsp::getElementValue ( const jau::nsize_t  elementIdx) const
inline

Definition at line 1460 of file ATTPDUTypes.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getElementValueSize()

jau::nsize_t direct_bt::AttFindInfoRsp::getElementValueSize ( ) const
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 1444 of file ATTPDUTypes.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getName()

constexpr_cxx20 std::string direct_bt::AttFindInfoRsp::getName ( ) const
inlineoverridevirtualnoexcept

Reimplemented from direct_bt::AttElementList.

Definition at line 1464 of file ATTPDUTypes.hpp.

◆ getPDUValueOffset()

constexpr_cxx20 jau::nsize_t direct_bt::AttFindInfoRsp::getPDUValueOffset ( ) const
inlineoverridevirtualnoexcept

opcode + format

Reimplemented from direct_bt::AttPDUMsg.

Definition at line 1431 of file ATTPDUTypes.hpp.


The documentation for this class was generated from the following file: