ELEC-C7222
Libraries for ELEC C7222 Course Work
Loading...
Searching...
No Matches
c7222::Gap::EventHandler Struct Reference

#include <gap.hpp>

Inheritance diagram for c7222::Gap::EventHandler:
Inheritance graph
Collaboration diagram for c7222::Gap::EventHandler:
Collaboration graph

Public Member Functions

virtual void OnScanRequestReceived (uint8_t advertising_handle, const BleAddress &scanner_address) const
 GAP event callback interface.
 
virtual void OnAdvertisingStart (uint8_t status) const
 
virtual void OnAdvertisingEnd (uint8_t status, ConnectionHandle connection_handle) const
 
virtual void OnAdvertisingReport (const AdvertisingReport &report) const
 
virtual void OnExtendedAdvertisingReport (const ExtendedAdvertisingReport &report) const
 
virtual void OnScanTimeout (uint8_t status) const
 
virtual void OnPeriodicAdvertisingSyncEstablished (uint8_t status, ConnectionHandle sync_handle) const
 
virtual void OnPeriodicAdvertisingReport (ConnectionHandle sync_handle, int8_t tx_power, int8_t rssi, uint8_t data_status, const uint8_t *data, uint8_t data_length) const
 
virtual void OnPeriodicAdvertisingSyncLoss (ConnectionHandle sync_handle) const
 
virtual void OnConnectionComplete (uint8_t status, ConnectionHandle con_handle, const BleAddress &address, uint16_t conn_interval, uint16_t conn_latency, uint16_t supervision_timeout) const
 
virtual void OnUpdateConnectionParametersRequest (ConnectionHandle con_handle, uint16_t min_interval, uint16_t max_interval, uint16_t latency, uint16_t supervision_timeout) const
 
virtual void OnConnectionParametersUpdateComplete (uint8_t status, ConnectionHandle con_handle, uint16_t conn_interval, uint16_t conn_latency, uint16_t supervision_timeout) const
 
virtual void OnDisconnectionComplete (uint8_t status, ConnectionHandle con_handle, uint8_t reason) const
 
virtual void OnReadPhy (uint8_t status, ConnectionHandle con_handle, Phy tx_phy, Phy rx_phy) const
 
virtual void OnPhyUpdateComplete (uint8_t status, ConnectionHandle con_handle, Phy tx_phy, Phy rx_phy) const
 
virtual void OnDataLengthChange (ConnectionHandle con_handle, uint16_t tx_size, uint16_t rx_size) const
 
virtual void OnPrivacyEnabled () const
 
virtual void OnSecurityLevel (ConnectionHandle con_handle, uint8_t security_level) const
 
virtual void OnDedicatedBondingCompleted (uint8_t status, const BleAddress &address) const
 
virtual void OnInquiryResult (const InquiryResult &result) const
 
virtual void OnInquiryComplete (uint8_t status) const
 
virtual void OnRssiMeasurement (ConnectionHandle con_handle, int8_t rssi) const
 
virtual void OnLocalOobData (bool oob_data_present, const uint8_t *c_192, const uint8_t *r_192, const uint8_t *c_256, const uint8_t *r_256) const
 
virtual void OnPairingStarted (ConnectionHandle con_handle, const BleAddress &address, bool ssp, bool initiator) const
 
virtual void OnPairingComplete (ConnectionHandle con_handle, const BleAddress &address, uint8_t status) const
 

Protected Member Functions

 ~EventHandler ()=default
 

Constructor & Destructor Documentation

◆ ~EventHandler()

c7222::Gap::EventHandler::~EventHandler ( )
protecteddefault

Prevent polymorphic deletion and avoid unnecessary virtual destructor as the Gap class will never delete the instance it contains.

Member Function Documentation

◆ OnAdvertisingEnd()

virtual void c7222::Gap::EventHandler::OnAdvertisingEnd ( uint8_t  status,
ConnectionHandle  connection_handle 
) const
inlinevirtual

Called when advertising is disabled or terminated by a connection.

Parameters
statusHCI status (0x00 for success).
connection_handleConnection handle if ended due to connection, otherwise 0.

BTstack events:

  • HCI_EVENT_COMMAND_COMPLETE for HCI_LE_SET_ADVERTISING_ENABLE (disable).
  • HCI_EVENT_LE_META + HCI_SUBEVENT_LE_CONNECTION_COMPLETE / HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE when advertising ends due to connection.
  • HCI_EVENT_LE_META + HCI_SUBEVENT_LE_ADVERTISING_SET_TERMINATED for extended advertising.

Reimplemented in GapEventHandler.

◆ OnAdvertisingReport()

virtual void c7222::Gap::EventHandler::OnAdvertisingReport ( const AdvertisingReport report) const
inlinevirtual

Called when GAP_EVENT_ADVERTISING_REPORT is received.

Parameters
reportAdvertising report payload.

BTstack event: GAP_EVENT_ADVERTISING_REPORT.

Reimplemented in GapEventHandler.

◆ OnAdvertisingStart()

virtual void c7222::Gap::EventHandler::OnAdvertisingStart ( uint8_t  status) const
inlinevirtual

Called when advertising enable completes.

Parameters
statusHCI status (0x00 for success).

BTstack event: HCI_EVENT_COMMAND_COMPLETE for HCI_LE_SET_ADVERTISING_ENABLE.

Reimplemented in GapEventHandler.

◆ OnConnectionComplete()

virtual void c7222::Gap::EventHandler::OnConnectionComplete ( uint8_t  status,
ConnectionHandle  con_handle,
const BleAddress address,
uint16_t  conn_interval,
uint16_t  conn_latency,
uint16_t  supervision_timeout 
) const
inlinevirtual

Called when a LE connection completes.

Parameters
statusHCI status (0x00 for success).
con_handleConnection handle.
addressPeer device address.
conn_intervalConnection interval (unit: 1.25 ms).
conn_latencyPeripheral latency (number of events to skip).
supervision_timeoutSupervision timeout (unit: 10 ms).

BTstack events:

  • HCI_EVENT_LE_META + HCI_SUBEVENT_LE_CONNECTION_COMPLETE
  • HCI_EVENT_LE_META + HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE

Reimplemented in GapEventHandler.

◆ OnConnectionParametersUpdateComplete()

virtual void c7222::Gap::EventHandler::OnConnectionParametersUpdateComplete ( uint8_t  status,
ConnectionHandle  con_handle,
uint16_t  conn_interval,
uint16_t  conn_latency,
uint16_t  supervision_timeout 
) const
inlinevirtual

Called when connection parameters have been updated.

Parameters
statusHCI status (0x00 for success).
con_handleConnection handle.
conn_intervalConnection interval (unit: 1.25 ms).
conn_latencyPeripheral latency.
supervision_timeoutSupervision timeout (unit: 10 ms).

BTstack event: HCI_EVENT_LE_META + HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE.

Reimplemented in GapEventHandler.

◆ OnDataLengthChange()

virtual void c7222::Gap::EventHandler::OnDataLengthChange ( ConnectionHandle  con_handle,
uint16_t  tx_size,
uint16_t  rx_size 
) const
inlinevirtual

Called when data length changes for a connection.

Parameters
con_handleConnection handle.
tx_sizeMax TX payload size (octets).
rx_sizeMax RX payload size (octets).

BTstack event: HCI_EVENT_LE_META + HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE.

Reimplemented in GapEventHandler.

◆ OnDedicatedBondingCompleted()

virtual void c7222::Gap::EventHandler::OnDedicatedBondingCompleted ( uint8_t  status,
const BleAddress address 
) const
inlinevirtual

Called when GAP_EVENT_DEDICATED_BONDING_COMPLETED is received.

Parameters
statusStatus of the bonding procedure.
addressPeer device address.

BTstack event: GAP_EVENT_DEDICATED_BONDING_COMPLETED.

Reimplemented in GapEventHandler.

◆ OnDisconnectionComplete()

virtual void c7222::Gap::EventHandler::OnDisconnectionComplete ( uint8_t  status,
ConnectionHandle  con_handle,
uint8_t  reason 
) const
inlinevirtual

Called when a connection is disconnected.

Parameters
statusHCI status (0x00 for success).
con_handleConnection handle.
reasonHCI Disconnect reason.

BTstack event: HCI_EVENT_DISCONNECTION_COMPLETE.

Reimplemented in GapEventHandler.

◆ OnExtendedAdvertisingReport()

virtual void c7222::Gap::EventHandler::OnExtendedAdvertisingReport ( const ExtendedAdvertisingReport report) const
inlinevirtual

Called when GAP_EVENT_EXTENDED_ADVERTISING_REPORT is received.

Parameters
reportExtended advertising report payload.

BTstack event: GAP_EVENT_EXTENDED_ADVERTISING_REPORT.

Reimplemented in GapEventHandler.

◆ OnInquiryComplete()

virtual void c7222::Gap::EventHandler::OnInquiryComplete ( uint8_t  status) const
inlinevirtual

Called when GAP_EVENT_INQUIRY_COMPLETE is received.

Parameters
statusStatus of the inquiry procedure.

BTstack event: GAP_EVENT_INQUIRY_COMPLETE.

Reimplemented in GapEventHandler.

◆ OnInquiryResult()

virtual void c7222::Gap::EventHandler::OnInquiryResult ( const InquiryResult result) const
inlinevirtual

Called when GAP_EVENT_INQUIRY_RESULT is received.

Parameters
resultInquiry result payload.

BTstack event: GAP_EVENT_INQUIRY_RESULT.

Reimplemented in GapEventHandler.

◆ OnLocalOobData()

virtual void c7222::Gap::EventHandler::OnLocalOobData ( bool  oob_data_present,
const uint8_t *  c_192,
const uint8_t *  r_192,
const uint8_t *  c_256,
const uint8_t *  r_256 
) const
inlinevirtual

Called when GAP_EVENT_LOCAL_OOB_DATA is received.

Parameters
oob_data_presentTrue if OOB data is available.
c_192192-bit confirm value (16 bytes).
r_192192-bit random value (16 bytes).
c_256256-bit confirm value (16 bytes).
r_256256-bit random value (16 bytes).

BTstack event: GAP_EVENT_LOCAL_OOB_DATA.

Reimplemented in GapEventHandler.

◆ OnPairingComplete()

virtual void c7222::Gap::EventHandler::OnPairingComplete ( ConnectionHandle  con_handle,
const BleAddress address,
uint8_t  status 
) const
inlinevirtual

Called when GAP_EVENT_PAIRING_COMPLETE is received.

Parameters
con_handleConnection handle.
addressPeer address.
statusStatus of the pairing procedure.

BTstack event: GAP_EVENT_PAIRING_COMPLETE.

Reimplemented in GapEventHandler.

◆ OnPairingStarted()

virtual void c7222::Gap::EventHandler::OnPairingStarted ( ConnectionHandle  con_handle,
const BleAddress address,
bool  ssp,
bool  initiator 
) const
inlinevirtual

Called when GAP_EVENT_PAIRING_STARTED is received.

Parameters
con_handleConnection handle.
addressPeer address.
sspTrue if SSP is used.
initiatorTrue if local device initiated pairing.

BTstack event: GAP_EVENT_PAIRING_STARTED.

Reimplemented in GapEventHandler.

◆ OnPeriodicAdvertisingReport()

virtual void c7222::Gap::EventHandler::OnPeriodicAdvertisingReport ( ConnectionHandle  sync_handle,
int8_t  tx_power,
int8_t  rssi,
uint8_t  data_status,
const uint8_t *  data,
uint8_t  data_length 
) const
inlinevirtual

Called when a periodic advertising report is received.

Parameters
sync_handleSync handle for the periodic advertiser.
tx_powerTransmit power in dBm (signed).
rssiRSSI in dBm (signed).
data_statusData status flag from the controller.
dataPeriodic advertising data (valid during callback only).
data_lengthNumber of bytes in the data payload.

BTstack event: HCI_EVENT_LE_META + HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_REPORT.

Reimplemented in GapEventHandler.

◆ OnPeriodicAdvertisingSyncEstablished()

virtual void c7222::Gap::EventHandler::OnPeriodicAdvertisingSyncEstablished ( uint8_t  status,
ConnectionHandle  sync_handle 
) const
inlinevirtual

Called when periodic advertising sync is established.

Parameters
statusHCI status (0x00 for success).
sync_handleSync handle assigned by controller.

BTstack event: HCI_EVENT_LE_META + HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_ESTABLISHMENT.

Reimplemented in GapEventHandler.

◆ OnPeriodicAdvertisingSyncLoss()

virtual void c7222::Gap::EventHandler::OnPeriodicAdvertisingSyncLoss ( ConnectionHandle  sync_handle) const
inlinevirtual

Called when periodic advertising sync is lost.

Parameters
sync_handleSync handle that was lost.

BTstack event: HCI_EVENT_LE_META + HCI_SUBEVENT_LE_PERIODIC_ADVERTISING_SYNC_LOST.

Reimplemented in GapEventHandler.

◆ OnPhyUpdateComplete()

virtual void c7222::Gap::EventHandler::OnPhyUpdateComplete ( uint8_t  status,
ConnectionHandle  con_handle,
Phy  tx_phy,
Phy  rx_phy 
) const
inlinevirtual

Called when the PHY update process completes.

Parameters
statusHCI status (0x00 for success).
con_handleConnection handle.
tx_phyUpdated transmit PHY.
rx_phyUpdated receive PHY.

BTstack event: HCI_EVENT_LE_META + HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE.

Reimplemented in GapEventHandler.

◆ OnPrivacyEnabled()

virtual void c7222::Gap::EventHandler::OnPrivacyEnabled ( ) const
inlinevirtual

Called when privacy becomes enabled and ready.

BTstack: no dedicated event; call after successful privacy configuration.

Reimplemented in GapEventHandler.

◆ OnReadPhy()

virtual void c7222::Gap::EventHandler::OnReadPhy ( uint8_t  status,
ConnectionHandle  con_handle,
Phy  tx_phy,
Phy  rx_phy 
) const
inlinevirtual

Called when LE PHYs have been read.

Parameters
statusHCI status (0x00 for success).
con_handleConnection handle.
tx_phyTransmit PHY.
rx_phyReceive PHY.

BTstack event: HCI_EVENT_COMMAND_COMPLETE for HCI_LE_READ_PHY.

Reimplemented in GapEventHandler.

◆ OnRssiMeasurement()

virtual void c7222::Gap::EventHandler::OnRssiMeasurement ( ConnectionHandle  con_handle,
int8_t  rssi 
) const
inlinevirtual

Called when GAP_EVENT_RSSI_MEASUREMENT is received.

Parameters
con_handleConnection handle.
rssiRSSI in dBm (signed).

BTstack event: GAP_EVENT_RSSI_MEASUREMENT.

Reimplemented in GapEventHandler.

◆ OnScanRequestReceived()

virtual void c7222::Gap::EventHandler::OnScanRequestReceived ( uint8_t  advertising_handle,
const BleAddress scanner_address 
) const
inlinevirtual

GAP event callback interface.

Handlers are invoked from the BTstack event dispatch context. Event data references (pointers/arrays) are only valid during the callback; copy any data you need to retain beyond the call. Called when the controller reports a scan request to this advertiser.

Parameters
advertising_handleAdvertising set handle.
scanner_addressAddress of the scanning device.

BTstack event: HCI_EVENT_LE_META + HCI_SUBEVENT_LE_SCAN_REQUEST_RECEIVED.

Reimplemented in GapEventHandler.

◆ OnScanTimeout()

virtual void c7222::Gap::EventHandler::OnScanTimeout ( uint8_t  status) const
inlinevirtual

Called when a scan timeout is reported.

Parameters
statusHCI status (0x00 for success).

BTstack event: HCI_EVENT_LE_META + HCI_SUBEVENT_LE_SCAN_TIMEOUT.

Reimplemented in GapEventHandler.

◆ OnSecurityLevel()

virtual void c7222::Gap::EventHandler::OnSecurityLevel ( ConnectionHandle  con_handle,
uint8_t  security_level 
) const
inlinevirtual

Called when GAP_EVENT_SECURITY_LEVEL is received.

Parameters
con_handleConnection handle for the link.
security_levelNegotiated security level.

BTstack event: GAP_EVENT_SECURITY_LEVEL.

Reimplemented in GapEventHandler.

◆ OnUpdateConnectionParametersRequest()

virtual void c7222::Gap::EventHandler::OnUpdateConnectionParametersRequest ( ConnectionHandle  con_handle,
uint16_t  min_interval,
uint16_t  max_interval,
uint16_t  latency,
uint16_t  supervision_timeout 
) const
inlinevirtual

Called when the peer requests connection parameter updates.

Parameters
con_handleConnection handle.
min_intervalMinimum requested interval (unit: 1.25 ms).
max_intervalMaximum requested interval (unit: 1.25 ms).
latencyRequested slave latency.
supervision_timeoutRequested supervision timeout (unit: 10 ms).

BTstack events:

  • HCI_EVENT_LE_META + HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST
  • L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST (if using L2CAP events).

Reimplemented in GapEventHandler.


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