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

#include <MgmtTypes.hpp>

Inheritance diagram for direct_bt::MgmtEvtCmdComplete:
Collaboration diagram for direct_bt::MgmtEvtCmdComplete:

Public Member Functions

 MgmtEvtCmdComplete (const uint8_t *buffer, const jau::nsize_t buffer_len)
 
virtual ~MgmtEvtCmdComplete () noexcept override
 
MgmtCommand::Opcode getCmdOpcode () const noexcept
 
MgmtStatus getStatus () const noexcept
 
jau::nsize_t getDataOffset () const noexcept override
 
jau::nsize_t getDataSize () const noexcept override
 
const uint8_t * getData () const noexcept override
 
bool validate (const MgmtCommand &req) const noexcept override
 
bool getCurrentSettings (AdapterSetting &current_settings) const noexcept
 Returns AdapterSetting if getCmdOpcode() expects a single 4-octet AdapterSetting and hence getDataSize() == 4. More...
 
std::shared_ptr< ConnectionInfotoConnectionInfo () const noexcept
 Convert this instance into ConnectionInfo if getCmdOpcode() == GET_CONN_INFO, getStatus() == SUCCESS and size allows, otherwise returns nullptr. More...
 
std::shared_ptr< NameAndShortNametoNameAndShortName () const noexcept
 Convert this instance into ConnectionInfo if getCmdOpcode() == SET_LOCAL_NAME, getStatus() == SUCCESS and size allows, otherwise returns nullptr. More...
 
- Public Member Functions inherited from direct_bt::MgmtEvent
 MgmtEvent (const uint8_t *buffer, const jau::nsize_t buffer_len, const jau::nsize_t exp_param_size)
 Persistent memory, w/ ownership . More...
 
 MgmtEvent (const Opcode opc, const uint16_t dev_id, const uint16_t param_size=0)
 
 MgmtEvent (const Opcode opc, const uint16_t dev_id, const uint16_t param_size, const uint8_t *param)
 
virtual ~MgmtEvent () noexcept override
 
jau::nsize_t getTotalSize () const noexcept
 
Opcode getOpcode () const noexcept
 
std::string toString () const noexcept override
 
- Public Member Functions inherited from direct_bt::MgmtMsg
 MgmtMsg (const uint16_t opc, const uint16_t dev_id, const uint16_t param_size)
 
 MgmtMsg (const uint8_t *buffer, const jau::nsize_t buffer_len)
 
virtual ~MgmtMsg ()
 
uint64_t getTimestamp () const noexcept
 
jau::nsize_t getTotalSize () const noexcept
 
TROOctetsgetPDU () noexcept
 Return the underlying octets read only. More...
 
uint16_t getIntOpcode () const noexcept
 
uint16_t getDevID () const noexcept
 
uint16_t getParamSize () const noexcept
 

Static Public Member Functions

static MgmtCommand::Opcode getCmdOpcode (const uint8_t *data)
 
static MgmtStatus getStatus (const uint8_t *data)
 
- Static Public Member Functions inherited from direct_bt::MgmtEvent
static constexpr uint16_t number (const Opcode rhs) noexcept
 
static std::string getOpcodeString (const Opcode opc) noexcept
 
static MgmtEvent::Opcode getOpcode (const uint8_t *buffer)
 
static std::unique_ptr< MgmtEventgetSpecialized (const uint8_t *buffer, jau::nsize_t const buffer_size) noexcept
 Return a newly created specialized instance pointer to base class. More...
 
- Static Public Member Functions inherited from direct_bt::MgmtMsg
static uint16_t getIntOpcode (const uint8_t *buffer)
 
static uint16_t getDevID (const uint8_t *data)
 
template<class T >
static T * clone (const T &source) noexcept
 Clone template for convenience, based on derived class's copy-constructor. More...
 

Protected Member Functions

std::string baseString () const noexcept override
 
 MgmtEvtCmdComplete (const uint8_t *buffer, const jau::nsize_t buffer_len, const jau::nsize_t exp_param_size)
 
- Protected Member Functions inherited from direct_bt::MgmtEvent
virtual std::string valueString () const noexcept override
 

Additional Inherited Members

- Public Types inherited from direct_bt::MgmtEvent
enum  Opcode : uint16_t {
  Opcode::INVALID = 0x0000, Opcode::CMD_COMPLETE = 0x0001, Opcode::CMD_STATUS = 0x0002, Opcode::CONTROLLER_ERROR = 0x0003,
  Opcode::INDEX_ADDED = 0x0004, Opcode::INDEX_REMOVED = 0x0005, Opcode::NEW_SETTINGS = 0x0006, Opcode::CLASS_OF_DEV_CHANGED = 0x0007,
  Opcode::LOCAL_NAME_CHANGED = 0x0008, Opcode::NEW_LINK_KEY = 0x0009, Opcode::NEW_LONG_TERM_KEY = 0x000A, Opcode::DEVICE_CONNECTED = 0x000B,
  Opcode::DEVICE_DISCONNECTED = 0x000C, Opcode::CONNECT_FAILED = 0x000D, Opcode::PIN_CODE_REQUEST = 0x000E, Opcode::USER_CONFIRM_REQUEST = 0x000F,
  Opcode::USER_PASSKEY_REQUEST = 0x0010, Opcode::AUTH_FAILED = 0x0011, Opcode::DEVICE_FOUND = 0x0012, Opcode::DISCOVERING = 0x0013,
  Opcode::DEVICE_BLOCKED = 0x0014, Opcode::DEVICE_UNBLOCKED = 0x0015, Opcode::DEVICE_UNPAIRED = 0x0016, Opcode::PASSKEY_NOTIFY = 0x0017,
  Opcode::NEW_IRK = 0x0018, Opcode::NEW_CSRK = 0x0019, Opcode::DEVICE_WHITELIST_ADDED = 0x001A, Opcode::DEVICE_WHITELIST_REMOVED = 0x001B,
  Opcode::NEW_CONN_PARAM = 0x001C, Opcode::UNCONF_INDEX_ADDED = 0x001D, Opcode::UNCONF_INDEX_REMOVED = 0x001E, Opcode::NEW_CONFIG_OPTIONS = 0x001F,
  Opcode::EXT_INDEX_ADDED = 0x0020, Opcode::EXT_INDEX_REMOVED = 0x0021, Opcode::LOCAL_OOB_DATA_UPDATED = 0x0022, Opcode::ADVERTISING_ADDED = 0x0023,
  Opcode::ADVERTISING_REMOVED = 0x0024, Opcode::EXT_INFO_CHANGED = 0x0025, Opcode::PHY_CONFIGURATION_CHANGED = 0x0026, Opcode::EXP_FEATURE_CHANGED = 0x0027,
  Opcode::DEVICE_FLAGS_CHANGED = 0x002a, Opcode::ADV_MONITOR_ADDED = 0x002b, Opcode::ADV_MONITOR_REMOVED = 0x002c, Opcode::PAIR_DEVICE_COMPLETE = 0x002d,
  Opcode::HCI_ENC_CHANGED = 0x002e, Opcode::HCI_ENC_KEY_REFRESH_COMPLETE = 0x002f, Opcode::HCI_LE_REMOTE_USR_FEATURES = 0x0030, Opcode::MGMT_EVENT_TYPE_COUNT = 0x0031
}
 
- Static Protected Member Functions inherited from direct_bt::MgmtEvent
static void checkOpcode (const Opcode has, const Opcode min, const Opcode max)
 
static void checkOpcode (const Opcode has, const Opcode exp)
 
- Protected Attributes inherited from direct_bt::MgmtMsg
POctets pdu
 
uint64_t ts_creation
 

Detailed Description

Definition at line 1255 of file MgmtTypes.hpp.

Constructor & Destructor Documentation

◆ MgmtEvtCmdComplete() [1/2]

direct_bt::MgmtEvtCmdComplete::MgmtEvtCmdComplete ( const uint8_t *  buffer,
const jau::nsize_t  buffer_len,
const jau::nsize_t  exp_param_size 
)
inlineprotected

Definition at line 1263 of file MgmtTypes.hpp.

◆ MgmtEvtCmdComplete() [2/2]

direct_bt::MgmtEvtCmdComplete::MgmtEvtCmdComplete ( const uint8_t *  buffer,
const jau::nsize_t  buffer_len 
)
inline

Definition at line 1278 of file MgmtTypes.hpp.

◆ ~MgmtEvtCmdComplete()

virtual direct_bt::MgmtEvtCmdComplete::~MgmtEvtCmdComplete ( )
inlineoverridevirtualnoexcept

Definition at line 1284 of file MgmtTypes.hpp.

Member Function Documentation

◆ baseString()

std::string direct_bt::MgmtEvtCmdComplete::baseString ( ) const
inlineoverrideprotectedvirtualnoexcept

Reimplemented from direct_bt::MgmtEvent.

Definition at line 1258 of file MgmtTypes.hpp.

Here is the call graph for this function:

◆ getCmdOpcode() [1/2]

MgmtCommand::Opcode direct_bt::MgmtEvtCmdComplete::getCmdOpcode ( ) const
inlinenoexcept

Definition at line 1286 of file MgmtTypes.hpp.

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

◆ getCmdOpcode() [2/2]

static MgmtCommand::Opcode direct_bt::MgmtEvtCmdComplete::getCmdOpcode ( const uint8_t *  data)
inlinestatic

Definition at line 1271 of file MgmtTypes.hpp.

Here is the call graph for this function:

◆ getCurrentSettings()

bool MgmtEvtCmdComplete::getCurrentSettings ( AdapterSetting current_settings) const
noexcept

Returns AdapterSetting if getCmdOpcode() expects a single 4-octet AdapterSetting and hence getDataSize() == 4.

Definition at line 393 of file MgmtTypes.cpp.

Here is the caller graph for this function:

◆ getData()

const uint8_t* direct_bt::MgmtEvtCmdComplete::getData ( ) const
inlineoverridevirtualnoexcept

Reimplemented from direct_bt::MgmtEvent.

Definition at line 1291 of file MgmtTypes.hpp.

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

◆ getDataOffset()

jau::nsize_t direct_bt::MgmtEvtCmdComplete::getDataOffset ( ) const
inlineoverridevirtualnoexcept

Reimplemented from direct_bt::MgmtEvent.

Definition at line 1289 of file MgmtTypes.hpp.

◆ getDataSize()

jau::nsize_t direct_bt::MgmtEvtCmdComplete::getDataSize ( ) const
inlineoverridevirtualnoexcept

Reimplemented from direct_bt::MgmtEvent.

Definition at line 1290 of file MgmtTypes.hpp.

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

◆ getStatus() [1/2]

MgmtStatus direct_bt::MgmtEvtCmdComplete::getStatus ( ) const
inlinenoexcept

Definition at line 1287 of file MgmtTypes.hpp.

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

◆ getStatus() [2/2]

static MgmtStatus direct_bt::MgmtEvtCmdComplete::getStatus ( const uint8_t *  data)
inlinestatic

Definition at line 1274 of file MgmtTypes.hpp.

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

◆ toConnectionInfo()

std::shared_ptr< ConnectionInfo > MgmtEvtCmdComplete::toConnectionInfo ( ) const
noexcept

Convert this instance into ConnectionInfo if getCmdOpcode() == GET_CONN_INFO, getStatus() == SUCCESS and size allows, otherwise returns nullptr.

Definition at line 435 of file MgmtTypes.cpp.

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

◆ toNameAndShortName()

std::shared_ptr< NameAndShortName > MgmtEvtCmdComplete::toNameAndShortName ( ) const
noexcept

Convert this instance into ConnectionInfo if getCmdOpcode() == SET_LOCAL_NAME, getStatus() == SUCCESS and size allows, otherwise returns nullptr.

Definition at line 459 of file MgmtTypes.cpp.

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

◆ validate()

bool direct_bt::MgmtEvtCmdComplete::validate ( const MgmtCommand req) const
inlineoverridevirtualnoexcept

Reimplemented from direct_bt::MgmtEvent.

Definition at line 1293 of file MgmtTypes.hpp.

Here is the call graph for this function:

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