Direct-BT v3.3.0-1-gc2d430c
Direct-BT - Direct Bluetooth Programming.
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
direct_bt::MgmtEvent Class Reference

uint16_t opcode, uint16_t dev-id, uint16_t param_size More...

#include <MgmtTypes.hpp>

Inheritance diagram for direct_bt::MgmtEvent:
Collaboration diagram for direct_bt::MgmtEvent:

Public Types

enum class  Opcode : uint16_t {
  INVALID = 0x0000 , CMD_COMPLETE = 0x0001 , CMD_STATUS = 0x0002 , CONTROLLER_ERROR = 0x0003 ,
  INDEX_ADDED = 0x0004 , INDEX_REMOVED = 0x0005 , NEW_SETTINGS = 0x0006 , CLASS_OF_DEV_CHANGED = 0x0007 ,
  LOCAL_NAME_CHANGED = 0x0008 , NEW_LINK_KEY = 0x0009 , NEW_LONG_TERM_KEY = 0x000A , DEVICE_CONNECTED = 0x000B ,
  DEVICE_DISCONNECTED = 0x000C , CONNECT_FAILED = 0x000D , PIN_CODE_REQUEST = 0x000E , USER_CONFIRM_REQUEST = 0x000F ,
  USER_PASSKEY_REQUEST = 0x0010 , AUTH_FAILED = 0x0011 , DEVICE_FOUND = 0x0012 , DISCOVERING = 0x0013 ,
  DEVICE_BLOCKED = 0x0014 , DEVICE_UNBLOCKED = 0x0015 , DEVICE_UNPAIRED = 0x0016 , PASSKEY_NOTIFY = 0x0017 ,
  NEW_IRK = 0x0018 , NEW_CSRK = 0x0019 , DEVICE_WHITELIST_ADDED = 0x001A , DEVICE_WHITELIST_REMOVED = 0x001B ,
  NEW_CONN_PARAM = 0x001C , UNCONF_INDEX_ADDED = 0x001D , UNCONF_INDEX_REMOVED = 0x001E , NEW_CONFIG_OPTIONS = 0x001F ,
  EXT_INDEX_ADDED = 0x0020 , EXT_INDEX_REMOVED = 0x0021 , LOCAL_OOB_DATA_UPDATED = 0x0022 , ADVERTISING_ADDED = 0x0023 ,
  ADVERTISING_REMOVED = 0x0024 , EXT_INFO_CHANGED = 0x0025 , PHY_CONFIGURATION_CHANGED = 0x0026 , EXP_FEATURE_CHANGED = 0x0027 ,
  DEVICE_FLAGS_CHANGED = 0x002a , ADV_MONITOR_ADDED = 0x002b , ADV_MONITOR_REMOVED = 0x002c , PAIR_DEVICE_COMPLETE = 0x002d ,
  HCI_ENC_CHANGED = 0x002e , HCI_ENC_KEY_REFRESH_COMPLETE = 0x002f , HCI_LE_REMOTE_FEATURES = 0x0030 , HCI_LE_PHY_UPDATE_COMPLETE = 0x0031 ,
  HCI_LE_LTK_REQUEST = 0x0032 , HCI_LE_LTK_REPLY_ACK = 0x0033 , HCI_LE_LTK_REPLY_REJ = 0x0034 , HCI_LE_ENABLE_ENC = 0x0035 ,
  MGMT_EVENT_TYPE_COUNT = 0x0036
}
 

Public Member Functions

 MgmtEvent (const Opcode opc, const uint16_t dev_id, const uint16_t param_size, const uint8_t *param)
 
 MgmtEvent (const Opcode opc, const uint16_t dev_id, const uint16_t param_size=0)
 
 MgmtEvent (const uint8_t *buffer, const jau::nsize_t buffer_len, const jau::nsize_t exp_param_size)
 Persistent memory, w/ ownership . More...
 
 ~MgmtEvent () noexcept override=default
 
virtual const uint8_t * getData () const noexcept
 
virtual jau::nsize_t getDataOffset () const noexcept
 
virtual jau::nsize_t getDataSize () const noexcept
 
Opcode getOpcode () const noexcept
 
jau::nsize_t getTotalSize () const noexcept
 
std::string toString () const noexcept override
 
virtual bool validate (const MgmtCommand &req) const noexcept
 
- 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 ()=default
 
uint16_t getDevID () const noexcept
 
uint16_t getIntOpcode () const noexcept
 
uint16_t getParamSize () const noexcept
 
jau::TROOctetsgetPDU () noexcept
 Return the underlying octets read only. More...
 
uint64_t getTimestamp () const noexcept
 
jau::nsize_t getTotalSize () const noexcept
 
virtual std::string toString () const noexcept=0
 

Static Public Member Functions

static MgmtEvent::Opcode getOpcode (const uint8_t *buffer)
 
static std::string getOpcodeString (const Opcode opc) noexcept
 
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 constexpr uint16_t number (const Opcode rhs) noexcept
 
- Static Public Member Functions inherited from direct_bt::MgmtMsg
template<class T >
static T * clone (const T &source) noexcept
 Clone template for convenience, based on derived class's copy-constructor. More...
 
static uint16_t getDevID (const uint8_t *data)
 
static uint16_t getIntOpcode (const uint8_t *buffer)
 

Protected Member Functions

std::string baseString () const noexcept override
 
std::string valueString () const noexcept override
 
virtual std::string baseString () const noexcept
 
virtual std::string valueString () const noexcept=0
 

Static Protected Member Functions

static void checkOpcode (const Opcode has, const Opcode exp)
 
static void checkOpcode (const Opcode has, const Opcode min, const Opcode max)
 

Additional Inherited Members

- Protected Attributes inherited from direct_bt::MgmtMsg
jau::POctets pdu
 
uint64_t ts_creation
 

Detailed Description

uint16_t opcode, uint16_t dev-id, uint16_t param_size

Definition at line 1401 of file MgmtTypes.hpp.

Member Enumeration Documentation

◆ Opcode

enum class direct_bt::MgmtEvent::Opcode : uint16_t
strong
Enumerator
INVALID 
CMD_COMPLETE 
CMD_STATUS 
CONTROLLER_ERROR 
INDEX_ADDED 
INDEX_REMOVED 
NEW_SETTINGS 
CLASS_OF_DEV_CHANGED 
LOCAL_NAME_CHANGED 
NEW_LINK_KEY 
NEW_LONG_TERM_KEY 
DEVICE_CONNECTED 
DEVICE_DISCONNECTED 
CONNECT_FAILED 
PIN_CODE_REQUEST 
USER_CONFIRM_REQUEST 
USER_PASSKEY_REQUEST 
AUTH_FAILED 
DEVICE_FOUND 
DISCOVERING 
DEVICE_BLOCKED 
DEVICE_UNBLOCKED 
DEVICE_UNPAIRED 
PASSKEY_NOTIFY 
NEW_IRK 
NEW_CSRK 
DEVICE_WHITELIST_ADDED 
DEVICE_WHITELIST_REMOVED 
NEW_CONN_PARAM 
UNCONF_INDEX_ADDED 
UNCONF_INDEX_REMOVED 
NEW_CONFIG_OPTIONS 
EXT_INDEX_ADDED 
EXT_INDEX_REMOVED 
LOCAL_OOB_DATA_UPDATED 
ADVERTISING_ADDED 
ADVERTISING_REMOVED 
EXT_INFO_CHANGED 
PHY_CONFIGURATION_CHANGED 
EXP_FEATURE_CHANGED 
DEVICE_FLAGS_CHANGED 
ADV_MONITOR_ADDED 
ADV_MONITOR_REMOVED 
PAIR_DEVICE_COMPLETE 
HCI_ENC_CHANGED 
HCI_ENC_KEY_REFRESH_COMPLETE 
HCI_LE_REMOTE_FEATURES 
HCI_LE_PHY_UPDATE_COMPLETE 
HCI_LE_LTK_REQUEST 
HCI_LE_LTK_REPLY_ACK 
HCI_LE_LTK_REPLY_REJ 
HCI_LE_ENABLE_ENC 
MGMT_EVENT_TYPE_COUNT 

Definition at line 1404 of file MgmtTypes.hpp.

Constructor & Destructor Documentation

◆ MgmtEvent() [1/3]

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

Persistent memory, w/ ownership .

Definition at line 1504 of file MgmtTypes.hpp.

◆ MgmtEvent() [2/3]

direct_bt::MgmtEvent::MgmtEvent ( const Opcode  opc,
const uint16_t  dev_id,
const uint16_t  param_size = 0 
)
inline

Definition at line 1515 of file MgmtTypes.hpp.

◆ MgmtEvent() [3/3]

direct_bt::MgmtEvent::MgmtEvent ( const Opcode  opc,
const uint16_t  dev_id,
const uint16_t  param_size,
const uint8_t *  param 
)
inline

Definition at line 1521 of file MgmtTypes.hpp.

◆ ~MgmtEvent()

direct_bt::MgmtEvent::~MgmtEvent ( )
overridedefaultnoexcept

Member Function Documentation

◆ number()

static constexpr uint16_t direct_bt::MgmtEvent::number ( const Opcode  rhs)
inlinestaticconstexprnoexcept

Definition at line 1459 of file MgmtTypes.hpp.

◆ getOpcodeString()

std::string MgmtEvent::getOpcodeString ( const Opcode  opc)
staticnoexcept

Definition at line 401 of file MgmtTypes.cpp.

Here is the caller graph for this function:

◆ checkOpcode() [1/2]

static void direct_bt::MgmtEvent::checkOpcode ( const Opcode  has,
const Opcode  min,
const Opcode  max 
)
inlinestaticprotected

Definition at line 1465 of file MgmtTypes.hpp.

◆ checkOpcode() [2/2]

static void direct_bt::MgmtEvent::checkOpcode ( const Opcode  has,
const Opcode  exp 
)
inlinestaticprotected

Definition at line 1473 of file MgmtTypes.hpp.

◆ baseString()

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

◆ valueString()

std::string direct_bt::MgmtEvent::valueString ( ) const
inlineoverrideprotectedvirtualnoexcept

Implements direct_bt::MgmtMsg.

Reimplemented in direct_bt::MgmtEvtLocalNameChanged, and direct_bt::MgmtEvtAdapterInfo.

Definition at line 1484 of file MgmtTypes.hpp.

◆ getOpcode() [1/2]

static MgmtEvent::Opcode direct_bt::MgmtEvent::getOpcode ( const uint8_t *  buffer)
inlinestatic

Definition at line 1491 of file MgmtTypes.hpp.

◆ getSpecialized()

std::unique_ptr< MgmtEvent > MgmtEvent::getSpecialized ( const uint8_t *  buffer,
jau::nsize_t const  buffer_size 
)
staticnoexcept

Return a newly created specialized instance pointer to base class.

Returned memory reference is managed by caller (delete etc)

Definition at line 409 of file MgmtTypes.cpp.

◆ getTotalSize()

jau::nsize_t direct_bt::MgmtEvent::getTotalSize ( ) const
inlinenoexcept

Definition at line 1531 of file MgmtTypes.hpp.

◆ getOpcode() [2/2]

Opcode direct_bt::MgmtEvent::getOpcode ( ) const
inlinenoexcept

Definition at line 1533 of file MgmtTypes.hpp.

◆ getDataOffset()

virtual jau::nsize_t direct_bt::MgmtEvent::getDataOffset ( ) const
inlinevirtualnoexcept

◆ getDataSize()

virtual jau::nsize_t direct_bt::MgmtEvent::getDataSize ( ) const
inlinevirtualnoexcept

◆ getData()

virtual const uint8_t * direct_bt::MgmtEvent::getData ( ) const
inlinevirtualnoexcept

◆ validate()

virtual bool direct_bt::MgmtEvent::validate ( const MgmtCommand req) const
inlinevirtualnoexcept

Reimplemented in direct_bt::MgmtEvtCmdComplete, and direct_bt::MgmtEvtCmdStatus.

Definition at line 1539 of file MgmtTypes.hpp.

Here is the caller graph for this function:

◆ toString()

std::string direct_bt::MgmtEvent::toString ( ) const
inlineoverridevirtualnoexcept

Implements direct_bt::MgmtMsg.

Definition at line 1543 of file MgmtTypes.hpp.

Here is the caller graph for this function:

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