From 44b2e73ef1dfef3102b3153a8dd4fe764577f9a5 Mon Sep 17 00:00:00 2001 From: Paul Szczeanek Date: Tue, 22 Sep 2020 09:18:21 +0100 Subject: [PATCH] Add setters to events --- .../FEATURE_BLE/include/ble/gap/Events.h | 78 ++++++++++++++++--- 1 file changed, 67 insertions(+), 11 deletions(-) diff --git a/connectivity/FEATURE_BLE/include/ble/gap/Events.h b/connectivity/FEATURE_BLE/include/ble/gap/Events.h index b8f561a12c..022b6035c1 100644 --- a/connectivity/FEATURE_BLE/include/ble/gap/Events.h +++ b/connectivity/FEATURE_BLE/include/ble/gap/Events.h @@ -69,15 +69,15 @@ struct AdvertisingReportEvent { const address_t &directAddress, const mbed::Span &advertisingData ) : + peerAddress(peerAddress), type(type), peerAddressType(peerAddressType), - peerAddress(peerAddress), primaryPhy(primaryPhy), secondaryPhy(secondaryPhy), SID(SID), txPower(txPower), - rssi(rssi), periodicInterval(periodicInterval), + rssi(rssi), directAddressType(directAddressType), directAddress(directAddress), advertisingData(advertisingData) @@ -85,7 +85,6 @@ struct AdvertisingReportEvent { } #endif - /** Get event type. */ const advertising_event_t &getType() const { @@ -163,18 +162,44 @@ struct AdvertisingReportEvent { return advertisingData; } + /** Set peer address. */ + void setPeerAddress( + const address_t &newPeerAddress + ) + { + peerAddress = newPeerAddress; + } + + + /** Set peer address type. */ + void setPeerAddressType( + const peer_address_type_t &newPeerAddressType + ) + { + peerAddressType = newPeerAddressType; + } + + /** Set new advertising payload. */ + void setAdvertisingData( + const mbed::Span &newAdvertisingData + ) + { + advertisingData = newAdvertisingData; + } + private: + address_t peerAddress; advertising_event_t type; peer_address_type_t peerAddressType; - address_t const &peerAddress; phy_t primaryPhy; phy_t secondaryPhy; advertising_sid_t SID; advertising_power_t txPower; - rssi_t rssi; uint16_t periodicInterval; + rssi_t rssi; peer_address_type_t directAddressType; - const address_t &directAddress; + address_t directAddress; + ble_error_t status; mbed::Span advertisingData; }; @@ -215,12 +240,12 @@ struct ConnectionCompleteEvent { ) : status(status), connectionHandle(connectionHandle), + peerAddress(peerAddress), ownRole(ownRole), peerAddressType(peerAddressType), - peerAddress(peerAddress), localResolvablePrivateAddress(localResolvablePrivateAddress), - peerResolvablePrivateAddress(peerResolvablePrivateAddress), connectionInterval(connectionInterval), + peerResolvablePrivateAddress(peerResolvablePrivateAddress), connectionLatency(connectionLatency), supervisionTimeout(supervisionTimeout), masterClockAccuracy(masterClockAccuracy) @@ -295,15 +320,46 @@ struct ConnectionCompleteEvent { return masterClockAccuracy; } + + /** Set connection complete event status. */ + void setStatus(ble_error_t new_status) + { + status = new_status; + } + + /** Set peer address type. */ + void setPeerAddressType(const peer_address_type_t& address_type) + { + peerAddressType = address_type; + } + + /** Set peer address. */ + void setPeerAddress(const address_t &address) + { + peerAddress = address; + } + + /** Set get local resolvable random address if privacy is used. */ + void setLocalResolvablePrivateAddress(const address_t &address) + { + localResolvablePrivateAddress = address; + } + + /** Set peer resolvable private address if privacy is used. */ + void setPeerResolvablePrivateAddress(const address_t &address) + { + peerResolvablePrivateAddress = address; + } + private: ble_error_t status; connection_handle_t connectionHandle; + address_t peerAddress; connection_role_t ownRole; peer_address_type_t peerAddressType; - const address_t &peerAddress; - const address_t &localResolvablePrivateAddress; - const address_t &peerResolvablePrivateAddress; + address_t localResolvablePrivateAddress; conn_interval_t connectionInterval; + address_t peerResolvablePrivateAddress; slave_latency_t connectionLatency; supervision_timeout_t supervisionTimeout; uint16_t masterClockAccuracy;