ELEC-C7222
Libraries for ELEC C7222 Course Work
Loading...
Searching...
No Matches
SecurityEventHandler Class Referencefinal

Minimal security event handler for BLE examples. More...

#include <security_event_handler.hpp>

Inheritance diagram for SecurityEventHandler:
Inheritance graph
Collaboration diagram for SecurityEventHandler:
Collaboration graph

Public Member Functions

 SecurityEventHandler (c7222::SecurityManager *security_manager)
 Construct with an optional SecurityManager pointer.
 
 SecurityEventHandler ()=default
 Default constructor (manager can be set later).
 
void SetSecurityManager (c7222::SecurityManager *security_manager)
 Attach a SecurityManager after construction.
 
void OnJustWorksRequest (c7222::ConnectionHandle con_handle) const override
 Handle "Just Works" pairing request.
 
void OnNumericComparisonRequest (c7222::ConnectionHandle con_handle, uint32_t number) const override
 Handle numeric comparison pairing request.
 
void OnPasskeyDisplay (c7222::ConnectionHandle con_handle, uint32_t passkey) const override
 Handle passkey display event.
 
void OnPasskeyInput (c7222::ConnectionHandle con_handle) const override
 Handle passkey input request.
 
void OnPairingComplete (c7222::ConnectionHandle con_handle, c7222::SecurityManager::PairingStatus status, uint8_t status_code) const override
 Handle pairing completion event.
 
void OnReencryptionComplete (c7222::ConnectionHandle con_handle, uint8_t status) const override
 Handle reencryption completion event.
 
void OnAuthorizationRequest (c7222::ConnectionHandle con_handle) const override
 Handle authorization request for a connection.
 
void OnAuthorizationResult (c7222::ConnectionHandle con_handle, c7222::SecurityManager::AuthorizationResult result) const override
 Handle authorization result event.
 

Additional Inherited Members

- Protected Member Functions inherited from c7222::SecurityManager::EventHandler
 ~EventHandler ()=default
 

Detailed Description

Minimal security event handler for BLE examples.

The implementation intentionally keeps policies simple and explicit to make debugging easier in a teaching environment.

The stored SecurityManager instance is used to:

  • Confirm Just Works pairing requests.
  • Confirm numeric comparison requests.
  • Provide a fixed passkey for input requests.
  • Grant authorization on request.

Constructor & Destructor Documentation

◆ SecurityEventHandler() [1/2]

SecurityEventHandler::SecurityEventHandler ( c7222::SecurityManager security_manager)
inlineexplicit

Construct with an optional SecurityManager pointer.

Parameters
security_managerSecurity manager used for confirmations and authorization.

◆ SecurityEventHandler() [2/2]

SecurityEventHandler::SecurityEventHandler ( )
default

Default constructor (manager can be set later).

Member Function Documentation

◆ OnAuthorizationRequest()

void SecurityEventHandler::OnAuthorizationRequest ( c7222::ConnectionHandle  con_handle) const
overridevirtual

Handle authorization request for a connection.

Logs the request and grants authorization in the example implementation.

Reimplemented from c7222::SecurityManager::EventHandler.

Here is the call graph for this function:

◆ OnAuthorizationResult()

void SecurityEventHandler::OnAuthorizationResult ( c7222::ConnectionHandle  con_handle,
c7222::SecurityManager::AuthorizationResult  result 
) const
overridevirtual

Handle authorization result event.

Logs the authorization outcome.

Reimplemented from c7222::SecurityManager::EventHandler.

◆ OnJustWorksRequest()

void SecurityEventHandler::OnJustWorksRequest ( c7222::ConnectionHandle  con_handle) const
overridevirtual

Handle "Just Works" pairing request.

Logs the event and auto-confirms if a SecurityManager is available.

Reimplemented from c7222::SecurityManager::EventHandler.

Here is the call graph for this function:

◆ OnNumericComparisonRequest()

void SecurityEventHandler::OnNumericComparisonRequest ( c7222::ConnectionHandle  con_handle,
uint32_t  number 
) const
overridevirtual

Handle numeric comparison pairing request.

Logs the number and auto-confirms if a SecurityManager is available.

Reimplemented from c7222::SecurityManager::EventHandler.

Here is the call graph for this function:

◆ OnPairingComplete()

void SecurityEventHandler::OnPairingComplete ( c7222::ConnectionHandle  con_handle,
c7222::SecurityManager::PairingStatus  status,
uint8_t  status_code 
) const
overridevirtual

Handle pairing completion event.

Logs the final pairing status and status code.

Reimplemented from c7222::SecurityManager::EventHandler.

◆ OnPasskeyDisplay()

void SecurityEventHandler::OnPasskeyDisplay ( c7222::ConnectionHandle  con_handle,
uint32_t  passkey 
) const
overridevirtual

Handle passkey display event.

Logs the passkey for user confirmation.

Reimplemented from c7222::SecurityManager::EventHandler.

◆ OnPasskeyInput()

void SecurityEventHandler::OnPasskeyInput ( c7222::ConnectionHandle  con_handle) const
overridevirtual

Handle passkey input request.

Logs the request and provides a fixed passkey (123456) in the example implementation.

Reimplemented from c7222::SecurityManager::EventHandler.

Here is the call graph for this function:

◆ OnReencryptionComplete()

void SecurityEventHandler::OnReencryptionComplete ( c7222::ConnectionHandle  con_handle,
uint8_t  status 
) const
overridevirtual

Handle reencryption completion event.

Logs status for debugging link security changes.

Reimplemented from c7222::SecurityManager::EventHandler.

◆ SetSecurityManager()

void SecurityEventHandler::SetSecurityManager ( c7222::SecurityManager security_manager)
inline

Attach a SecurityManager after construction.

Here is the caller graph for this function:

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