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

Vol 3, Part H: 3.5.5 Pairing Failed message. More...

#include <SMPTypes.hpp>

Inheritance diagram for direct_bt::SMPPairFailedMsg:
Collaboration diagram for direct_bt::SMPPairFailedMsg:

Public Types

enum class  ReasonCode : uint8_t {
  UNDEFINED = 0x00 , PASSKEY_ENTRY_FAILED = 0x01 , OOB_NOT_AVAILABLE = 0x02 , AUTHENTICATION_REQUIREMENTS = 0x03 ,
  CONFIRM_VALUE_FAILED = 0x04 , PAIRING_NOT_SUPPORTED = 0x05 , ENCRYPTION_KEY_SIZE = 0x06 , COMMON_NOT_SUPPORTED = 0x07 ,
  UNSPECIFIED_REASON = 0x08 , REPEATED_ATTEMPTS = 0x09 , INVALID_PARAMTERS = 0x0A , DHKEY_CHECK_FAILED = 0x0B ,
  NUMERIC_COMPARISON_FAILED = 0x0C , BREDR_PAIRING_IN_PROGRESS = 0x0D , CROSSXPORT_KEY_DERIGEN_NOT_ALLOWED = 0x0E
}
 
- Public Types inherited from direct_bt::SMPPDUMsg
enum class  Opcode : uint8_t {
  UNDEFINED = 0x00 , PAIRING_REQUEST = 0x01 , PAIRING_RESPONSE = 0x02 , PAIRING_CONFIRM = 0x03 ,
  PAIRING_RANDOM = 0x04 , PAIRING_FAILED = 0x05 , ENCRYPTION_INFORMATION = 0x06 , MASTER_IDENTIFICATION = 0x07 ,
  IDENTITY_INFORMATION = 0x08 , IDENTITY_ADDRESS_INFORMATION = 0x09 , SIGNING_INFORMATION = 0x0A , SECURITY_REQUEST = 0x0B ,
  PAIRING_PUBLIC_KEY = 0x0C , PAIRING_DHKEY_CHECK = 0x0D , PAIRING_KEYPRESS_NOTIFICATION = 0x0E
}
 SMP Command Codes Vol 3, Part H (SM): 3.3. More...
 

Public Member Functions

 SMPPairFailedMsg (const ReasonCode rc)
 
 SMPPairFailedMsg (const uint8_t *source, const jau::nsize_t length)
 
constexpr_cxx20 jau::nsize_t getDataSize () const noexcept override
 Returns the required data size according to the specified packet, which should be within 0-22 or 64 octets. More...
 
std::string getName () const noexcept override
 
constexpr ReasonCode getReasonCode () const noexcept
 
- Public Member Functions inherited from direct_bt::SMPPDUMsg
 SMPPDUMsg (const Opcode opc, const jau::nsize_t size)
 Persistent memory, w/ ownership . More...
 
 SMPPDUMsg (const uint8_t *source, const jau::nsize_t size)
 Persistent memory, w/ ownership . More...
 
 SMPPDUMsg (const uint8_t *source, const jau::nsize_t size, const jau::nsize_t min_size)
 Persistent memory, w/ ownership . More...
 
virtual ~SMPPDUMsg () noexcept=default
 
constexpr jau::nsize_t getDataOffset () const noexcept
 Returns the octet offset to the data segment in this PDU including the mandatory opcode, i.e. More...
 
virtual constexpr_cxx20 jau::nsize_t getDataSize () const noexcept
 Returns the required data size according to the specified packet, which should be within 0-22 or 64 octets. More...
 
virtual std::string getName () const noexcept
 
constexpr Opcode getOpcode () const noexcept
 SMP Command Codes Vol 3, Part H (SM): 3.3. More...
 
constexpr jau::nsize_t getPDUParamSize () const noexcept
 Returns the actual PDU size less one octet for the opcode, which should result in 0-22 octets or 64 octets. More...
 
constexpr uint64_t getTimestamp () const noexcept
 
virtual std::string toString () const noexcept
 

Static Public Member Functions

static std::string getReasonCodeString (const ReasonCode reasonCode) noexcept
 
static constexpr uint8_t number (const ReasonCode rhs) noexcept
 
- Static Public Member Functions inherited from direct_bt::SMPPDUMsg
template<class T >
static T * clone (const T &source) noexcept
 Clone template for convenience, based on derived class's copy-constructor. More...
 
static std::string getOpcodeString (const Opcode opc) noexcept
 
static std::unique_ptr< const SMPPDUMsggetSpecialized (const uint8_t *buffer, jau::nsize_t const buffer_size) noexcept
 Return a newly created specialized instance pointer to base class. More...
 
static constexpr uint8_t number (const Opcode rhs) noexcept
 

Protected Member Functions

std::string valueString () const noexcept override
 
- Protected Member Functions inherited from direct_bt::SMPPDUMsg
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

- Protected Attributes inherited from direct_bt::SMPPDUMsg
jau::POctets pdu
 actual received PDU More...
 
uint64_t ts_creation
 creation timestamp in milliseconds More...
 

Detailed Description

Vol 3, Part H: 3.5.5 Pairing Failed message.

Vol 3 (Host), Part H (SM): 3 (SMP), 3.5 Pairing Methods

Opcode::PAIRING_FAILED

[uint8_t opcode]
uint8_t reason_code

Definition at line 1402 of file SMPTypes.hpp.

Member Enumeration Documentation

◆ ReasonCode

enum class direct_bt::SMPPairFailedMsg::ReasonCode : uint8_t
strong
Enumerator
UNDEFINED 
PASSKEY_ENTRY_FAILED 
OOB_NOT_AVAILABLE 
AUTHENTICATION_REQUIREMENTS 
CONFIRM_VALUE_FAILED 
PAIRING_NOT_SUPPORTED 
ENCRYPTION_KEY_SIZE 
COMMON_NOT_SUPPORTED 
UNSPECIFIED_REASON 
REPEATED_ATTEMPTS 
INVALID_PARAMTERS 
DHKEY_CHECK_FAILED 
NUMERIC_COMPARISON_FAILED 
BREDR_PAIRING_IN_PROGRESS 
CROSSXPORT_KEY_DERIGEN_NOT_ALLOWED 

Definition at line 1405 of file SMPTypes.hpp.

Constructor & Destructor Documentation

◆ SMPPairFailedMsg() [1/2]

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

Definition at line 1427 of file SMPTypes.hpp.

◆ SMPPairFailedMsg() [2/2]

direct_bt::SMPPairFailedMsg::SMPPairFailedMsg ( const ReasonCode  rc)
inline

Definition at line 1434 of file SMPTypes.hpp.

Member Function Documentation

◆ number()

static constexpr uint8_t direct_bt::SMPPairFailedMsg::number ( const ReasonCode  rhs)
inlinestaticconstexprnoexcept

Definition at line 1422 of file SMPTypes.hpp.

◆ getReasonCodeString()

std::string SMPPairFailedMsg::getReasonCodeString ( const ReasonCode  reasonCode)
staticnoexcept

Definition at line 387 of file SMPTypes.cpp.

◆ getDataSize()

constexpr_cxx20 jau::nsize_t direct_bt::SMPPairFailedMsg::getDataSize ( ) const
inlineoverridevirtualnoexcept

Returns the required data size according to the specified packet, which should be within 0-22 or 64 octets.

See also
SMPPDUMsg::getPDUParamSize()

Reimplemented from direct_bt::SMPPDUMsg.

Definition at line 1441 of file SMPTypes.hpp.

◆ getReasonCode()

constexpr ReasonCode direct_bt::SMPPairFailedMsg::getReasonCode ( ) const
inlineconstexprnoexcept

Definition at line 1445 of file SMPTypes.hpp.

◆ getName()

std::string direct_bt::SMPPairFailedMsg::getName ( ) const
inlineoverridevirtualnoexcept

Reimplemented from direct_bt::SMPPDUMsg.

Definition at line 1449 of file SMPTypes.hpp.

◆ valueString()

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

Reimplemented from direct_bt::SMPPDUMsg.

Definition at line 1454 of file SMPTypes.hpp.


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