diff --git a/features/FEATURE_BLE/ble/generic/GenericGap.h b/features/FEATURE_BLE/ble/generic/GenericGap.h index d0c8c7ca15..20b91a784f 100644 --- a/features/FEATURE_BLE/ble/generic/GenericGap.h +++ b/features/FEATURE_BLE/ble/generic/GenericGap.h @@ -79,7 +79,7 @@ class GenericGap : using LegacyGap::default_central_privacy_configuration; using LegacyGap::state; - typedef typename LegacyGap::Address_t Address_t; + typedef typename BLEProtocol::AddressBytes_t Address_t; typedef typename LegacyGap::PeerAddressType_t PeerAddressType_t; typedef typename LegacyGap::ConnectionParams_t ConnectionParams_t; typedef typename LegacyGap::Handle_t Handle_t; @@ -298,14 +298,6 @@ public: */ uint8_t getMaxPeriodicAdvertiserListSize_(); - /** - * @see Gap::setAddress - */ - ble_error_t setAddress_( - BLEProtocol::AddressType_t type, - const BLEProtocol::AddressBytes_t address - ); - /** * @see Gap::setRandomStaticAddress */ @@ -334,11 +326,6 @@ public: */ uint16_t getMaxAdvertisingInterval_() const; - /** - * @see Gap::stopAdvertising - */ - ble_error_t stopAdvertising_(); - /** * @see Gap::stopScan */ @@ -636,8 +623,6 @@ private: bool scan_response ); - void process_scan_timeout(); - void on_advertising_timeout(); void process_advertising_timeout(); diff --git a/features/FEATURE_BLE/source/LegacyGap.tpp b/features/FEATURE_BLE/source/LegacyGap.tpp index 10f80820a9..e1376adccc 100644 --- a/features/FEATURE_BLE/source/LegacyGap.tpp +++ b/features/FEATURE_BLE/source/LegacyGap.tpp @@ -16,61 +16,6 @@ #include "ble/Gap.h" -namespace { -ble_error_t convert_address_type( - ble::peer_address_type_t input_type, - const BLEProtocol::AddressBytes_t address, - BLEProtocol::AddressType_t& output_type -) { - typedef ble::random_address_type_t RandomAddressType_t; - typedef ble::peer_address_type_t PeerAddressType_t; - typedef BLEProtocol::AddressType LegacyAddressType_t; - - // best effort; peerAddrTypeIn should not be used when privacy is on. - switch(input_type.value()) { - case PeerAddressType_t::PUBLIC: - case PeerAddressType_t::PUBLIC_IDENTITY: - output_type = LegacyAddressType_t::PUBLIC; - break; - case PeerAddressType_t::RANDOM: { - RandomAddressType_t random_address_type(RandomAddressType_t::STATIC); - ble_error_t err = Gap::getRandomAddressType(address, &random_address_type); - if (err) { - return err; - } - switch (random_address_type.value()) { - case RandomAddressType_t::STATIC: - output_type = LegacyAddressType_t::RANDOM_STATIC; - break; - case RandomAddressType_t::NON_RESOLVABLE_PRIVATE: - output_type = LegacyAddressType_t::RANDOM_PRIVATE_NON_RESOLVABLE; - break; - case RandomAddressType_t::RESOLVABLE_PRIVATE: - output_type = LegacyAddressType_t::RANDOM_PRIVATE_RESOLVABLE; - break; - } - break; - } - case PeerAddressType_t::RANDOM_STATIC_IDENTITY: - output_type = LegacyAddressType_t::RANDOM_STATIC; - break; - } - - return BLE_ERROR_NONE; -} - -ble::peer_address_type_t convert_legacy_address_type( - BLEProtocol::AddressType_t legacy_address -) { - if (legacy_address == BLEProtocol::AddressType::PUBLIC) { - return ble::peer_address_type_t::PUBLIC; - } else { - return ble::peer_address_type_t::RANDOM; - } -} - -} // end of anonymous namespace - namespace ble { namespace interface { @@ -123,14 +68,6 @@ void LegacyGap::processConnectionEvent( connectionCallChain.call(&callbackParams); } -template -ble_error_t LegacyGap::setAddress( - BLEProtocol::AddressType_t type, - const BLEProtocol::AddressBytes_t address -) { - return impl()->setAddress_(type, address); -} - template ble_error_t LegacyGap::getAddress( BLEProtocol::AddressType_t *typeP, @@ -139,488 +76,6 @@ ble_error_t LegacyGap::getAddress( return impl()->getAddress_(typeP, address); } -#if BLE_ROLE_BROADCASTER -template -ble_error_t LegacyGap::stopAdvertising(void) { - return impl()->stopAdvertising_(); -} -#endif // BLE_ROLE_BROADCASTER - -#if BLE_ROLE_CENTRAL -template -ble_error_t LegacyGap::connect( - const BLEProtocol::AddressBytes_t peerAddr, - PeerAddressType_t peerAddrType, - const ConnectionParams_t *connectionParams, - const GapScanningParams *scanParams -) { - return impl()->connect_( - peerAddr, - peerAddrType, - connectionParams, - scanParams - ); -} - -template -ble_error_t LegacyGap::connect( - const BLEProtocol::AddressBytes_t peerAddr, - BLEProtocol::AddressType_t peerAddrType, - const ConnectionParams_t *connectionParams, - const GapScanningParams *scanParams -) { - return impl()->connect_( - peerAddr, - peerAddrType, - connectionParams, - scanParams - ); -} -#endif // BLE_ROLE_CENTRAL - -#if BLE_FEATURE_CONNECTABLE -template -ble_error_t LegacyGap::disconnect( - Handle_t connectionHandle, DisconnectionReason_t reason -) { - return impl()->disconnect_(connectionHandle, reason); -} - -template -ble_error_t LegacyGap::disconnect(DisconnectionReason_t reason) { - return impl()->disconnect_(reason); -} - -template -ble_error_t LegacyGap::updateConnectionParams( - Handle_t handle, - const ConnectionParams_t *params -) { - return impl()->updateConnectionParams_(handle, params); -} -#endif // BLE_FEATURE_CONNECTABLE - -template -ble_error_t LegacyGap::setTxPower(int8_t txPower) { - return impl()->setTxPower_(txPower); -} - -template -void LegacyGap::getPermittedTxPowerValues( - const int8_t **valueArrayPP, size_t *countP -) { - return impl()->getPermittedTxPowerValues_(valueArrayPP, countP); -} - -#if BLE_FEATURE_WHITELIST -#if BLE_ROLE_BROADCASTER -template -ble_error_t LegacyGap::setAdvertisingPolicyMode(AdvertisingPolicyMode_t mode) { - return impl()->setAdvertisingPolicyMode_(mode); -} - -template -typename LegacyGap::AdvertisingPolicyMode_t -LegacyGap::getAdvertisingPolicyMode(void) const { - return impl()->getAdvertisingPolicyMode_(); -} -#endif // BLE_ROLE_BROADCASTER - -#if BLE_ROLE_OBSERVER -template -ble_error_t LegacyGap::setScanningPolicyMode(ScanningPolicyMode_t mode) { - return impl()->setScanningPolicyMode_(mode); -} - -template -typename LegacyGap::ScanningPolicyMode_t -LegacyGap::getScanningPolicyMode(void) const { - return impl()->getScanningPolicyMode_(); -} -#endif // BLE_ROLE_OBSERVER - -#if BLE_ROLE_CENTRAL -template -ble_error_t LegacyGap::setInitiatorPolicyMode(InitiatorPolicyMode_t mode) { - return impl()->setInitiatorPolicyMode_(mode); -} - -template -typename LegacyGap::InitiatorPolicyMode_t -LegacyGap::getInitiatorPolicyMode(void) const { - return impl()->getInitiatorPolicyMode_(); -} -#endif // BLE_ROLE_CENTRAL -#endif // BLE_FEATURE_WHITELIST - -#if BLE_ROLE_OBSERVER -template -ble_error_t LegacyGap::startRadioScan(const GapScanningParams &scanningParams) { - return impl()->startRadioScan_(scanningParams); -} -#endif // BLE_ROLE_OBSERVER - -template -ble_error_t LegacyGap::initRadioNotification(void) { - return impl()->initRadioNotification_(); -} - -/* -------- deprecated template implementation -------- */ - -#if defined(__GNUC__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif - -template -typename LegacyGap::GapState_t LegacyGap::getState(void) const -{ - return state; -} - -#if BLE_ROLE_BROADCASTER -template -void LegacyGap::setAdvertisingType(GapAdvertisingParams::AdvertisingType_t advType) -{ - _advParams.setAdvertisingType(advType); -} - -template -void LegacyGap::setAdvertisingInterval(uint16_t interval) -{ - if (interval == 0) { - stopAdvertising(); - } else if (interval < getMinAdvertisingInterval()) { - interval = getMinAdvertisingInterval(); - } - _advParams.setInterval(interval); -} - -template -void LegacyGap::setAdvertisingTimeout(uint16_t timeout) -{ - _advParams.setTimeout(timeout); -} - -template -ble_error_t LegacyGap::startAdvertising(void) -{ - ble_error_t rc; - if ((rc = startAdvertising(_advParams)) == BLE_ERROR_NONE) { - state.advertising = 1; - } - return rc; -} - -template -void LegacyGap::clearAdvertisingPayload(void) -{ - _advPayload.clear(); - setAdvertisingData(_advPayload, _scanResponse); -} - -template -ble_error_t LegacyGap::accumulateAdvertisingPayload(uint8_t flags) -{ - GapAdvertisingData advPayloadCopy = _advPayload; - ble_error_t rc; - if ((rc = advPayloadCopy.addFlags(flags)) != BLE_ERROR_NONE) { - return rc; - } - - rc = setAdvertisingData(advPayloadCopy, _scanResponse); - if (rc == BLE_ERROR_NONE) { - _advPayload = advPayloadCopy; - } - - return rc; -} - -template -ble_error_t LegacyGap::accumulateAdvertisingPayload(GapAdvertisingData::Appearance app) -{ - GapAdvertisingData advPayloadCopy = _advPayload; - ble_error_t rc; - if ((rc = advPayloadCopy.addAppearance(app)) != BLE_ERROR_NONE) { - return rc; - } - - rc = setAdvertisingData(advPayloadCopy, _scanResponse); - if (rc == BLE_ERROR_NONE) { - _advPayload = advPayloadCopy; - } - - return rc; -} - -template -ble_error_t LegacyGap::accumulateAdvertisingPayloadTxPower(int8_t power) -{ - GapAdvertisingData advPayloadCopy = _advPayload; - ble_error_t rc; - if ((rc = advPayloadCopy.addTxPower(power)) != BLE_ERROR_NONE) { - return rc; - } - - rc = setAdvertisingData(advPayloadCopy, _scanResponse); - if (rc == BLE_ERROR_NONE) { - _advPayload = advPayloadCopy; - } - - return rc; -} - -template -ble_error_t LegacyGap::accumulateAdvertisingPayload( - GapAdvertisingData::DataType type, const uint8_t *data, uint8_t len -) { - GapAdvertisingData advPayloadCopy = _advPayload; - ble_error_t rc; - if ((rc = advPayloadCopy.addData(type, data, len)) != BLE_ERROR_NONE) { - return rc; - } - - rc = setAdvertisingData(advPayloadCopy, _scanResponse); - if (rc == BLE_ERROR_NONE) { - _advPayload = advPayloadCopy; - } - - return rc; -} - -template -ble_error_t LegacyGap::updateAdvertisingPayload( - GapAdvertisingData::DataType type, const uint8_t *data, uint8_t len -) { - GapAdvertisingData advPayloadCopy = _advPayload; - ble_error_t rc; - if ((rc = advPayloadCopy.updateData(type, data, len)) != BLE_ERROR_NONE) { - return rc; - } - - rc = setAdvertisingData(advPayloadCopy, _scanResponse); - if (rc == BLE_ERROR_NONE) { - _advPayload = advPayloadCopy; - } - - return rc; -} - -template -ble_error_t LegacyGap::setAdvertisingPayload(const GapAdvertisingData &payload) -{ - ble_error_t rc = setAdvertisingData(payload, _scanResponse); - if (rc == BLE_ERROR_NONE) { - _advPayload = payload; - } - - return rc; -} - -template -const GapAdvertisingData &LegacyGap::getAdvertisingPayload(void) const -{ - return _advPayload; -} - -template -ble_error_t LegacyGap::accumulateScanResponse( - GapAdvertisingData::DataType type, const uint8_t *data, uint8_t len -) { - GapAdvertisingData scanResponseCopy = _scanResponse; - ble_error_t rc; - if ((rc = scanResponseCopy.addData(type, data, len)) != BLE_ERROR_NONE) { - return rc; - } - - rc = setAdvertisingData(_advPayload, scanResponseCopy); - if (rc == BLE_ERROR_NONE) { - _scanResponse = scanResponseCopy; - } - - return rc; -} - -template -void LegacyGap::clearScanResponse(void) -{ - _scanResponse.clear(); - setAdvertisingData(_advPayload, _scanResponse); -} -#endif // BLE_ROLE_BROADCASTER - -#if BLE_ROLE_OBSERVER -template -ble_error_t LegacyGap::setScanParams( - uint16_t interval, - uint16_t window, - uint16_t timeout, - bool activeScanning -) { - ble_error_t rc; - if (((rc = _scanningParams.setInterval(interval)) == BLE_ERROR_NONE) && - ((rc = _scanningParams.setWindow(window)) == BLE_ERROR_NONE) && - ((rc = _scanningParams.setTimeout(timeout)) == BLE_ERROR_NONE)) { - _scanningParams.setActiveScanning(activeScanning); - return BLE_ERROR_NONE; - } - - return rc; -} - -template -ble_error_t LegacyGap::setScanParams(const GapScanningParams& scanningParams) { - return setScanParams( - scanningParams.getInterval(), - scanningParams.getWindow(), - scanningParams.getTimeout(), - scanningParams.getActiveScanning() - ); -} - -template -ble_error_t LegacyGap::setScanInterval(uint16_t interval) -{ - return _scanningParams.setInterval(interval); -} - -template -ble_error_t LegacyGap::setScanWindow(uint16_t window) -{ - ble_error_t rc; - if ((rc = _scanningParams.setWindow(window)) != BLE_ERROR_NONE) { - return rc; - } - - /* If scanning is already active, propagate the new setting to the stack. */ - if (scanningActive) { - return startRadioScan(_scanningParams); - } - - return BLE_ERROR_NONE; -} - -template -ble_error_t LegacyGap::setScanTimeout(uint16_t timeout) -{ - ble_error_t rc; - if ((rc = _scanningParams.setTimeout(timeout)) != BLE_ERROR_NONE) { - return rc; - } - - /* If scanning is already active, propagate the new settings to the stack. */ - if (scanningActive) { - return startRadioScan(_scanningParams); - } - - return BLE_ERROR_NONE; -} - -template -ble_error_t LegacyGap::setActiveScanning(bool activeScanning) -{ - _scanningParams.setActiveScanning(activeScanning); - - /* If scanning is already active, propagate the new settings to the stack. */ - if (scanningActive) { - return startRadioScan(_scanningParams); - } - - return BLE_ERROR_NONE; -} - -template -ble_error_t LegacyGap::startScan( - void (*callback)(const AdvertisementCallbackParams_t *params) -) { - ble_error_t err = BLE_ERROR_NONE; - if (callback) { - if ((err = startRadioScan(_scanningParams)) == BLE_ERROR_NONE) { - scanningActive = true; - onAdvertisementReport.attach(callback); - } - } - - return err; -} -#endif // BLE_ROLE_OBSERVER - -#if BLE_ROLE_BROADCASTER -template -GapAdvertisingParams &LegacyGap::getAdvertisingParams(void) -{ - return _advParams; -} - -template -const GapAdvertisingParams &LegacyGap::getAdvertisingParams(void) const -{ - return _advParams; -} - -template -void LegacyGap::setAdvertisingParams(const GapAdvertisingParams &newParams) -{ - _advParams = newParams; -} -#endif // BLE_ROLE_BROADCASTER - -template -void LegacyGap::onTimeout(TimeoutEventCallback_t callback) -{ - timeoutCallbackChain.add(callback); -} - -template -typename LegacyGap::TimeoutEventCallbackChain_t& LegacyGap::onTimeout() -{ - return timeoutCallbackChain; -} - -#if BLE_FEATURE_CONNECTABLE -template -void LegacyGap::onConnection(ConnectionEventCallback_t callback) -{ - connectionCallChain.add(callback); -} - -template -typename LegacyGap::ConnectionEventCallbackChain_t& LegacyGap::onConnection() -{ - return connectionCallChain; -} - -template -void LegacyGap::onDisconnection(DisconnectionEventCallback_t callback) -{ - disconnectionCallChain.add(callback); -} - -template -typename LegacyGap::DisconnectionEventCallbackChain_t& LegacyGap::onDisconnection() -{ - return disconnectionCallChain; -} -#endif // BLE_FEATURE_CONNECTABLE - -template -void LegacyGap::onRadioNotification(void (*callback)(bool param)) -{ - radioNotificationCallback.attach(callback); -} - -template -void LegacyGap::onShutdown(const GapShutdownCallback_t& callback) -{ - shutdownCallChain.add(callback); -} - -template -typename LegacyGap::GapShutdownCallbackChain_t& LegacyGap::onShutdown() -{ - return shutdownCallChain; -} - template LegacyGap::AdvertisementCallbackParams_t::AdvertisementCallbackParams_t() : peerAddr(), @@ -628,9 +83,7 @@ LegacyGap::AdvertisementCallbackParams_t::AdvertisementCallbackParams_t() isScanResponse(), type(), advertisingDataLen(0), - advertisingData(NULL), - addressType(), - peerAddrType(PeerAddressType_t::PUBLIC) + advertisingData(NULL) { } @@ -656,36 +109,6 @@ ble_error_t LegacyGap::getRandomAddressType( } } -template -LegacyGap::ConnectionCallbackParams_t::ConnectionCallbackParams_t( - Handle_t handleIn, - Role_t roleIn, - BLEProtocol::AddressType_t peerAddrTypeIn, - const uint8_t *peerAddrIn, - BLEProtocol::AddressType_t ownAddrTypeIn, - const uint8_t *ownAddrIn, - const ConnectionParams_t *connectionParamsIn, - const uint8_t *peerResolvableAddrIn, - const uint8_t *localResolvableAddrIn -) : handle(handleIn), - role(roleIn), - peerAddrType(peerAddrTypeIn), - peerAddr(), - ownAddrType(ownAddrTypeIn), - ownAddr(), - connectionParams(connectionParamsIn), - peerResolvableAddr(), - localResolvableAddr(), - peerAddressType(convert_legacy_address_type(peerAddrTypeIn)) -{ - constructor_helper( - peerAddrIn, - ownAddrIn, - peerResolvableAddrIn, - localResolvableAddrIn - ); -} - template LegacyGap::ConnectionCallbackParams_t::ConnectionCallbackParams_t( Handle_t handleIn, @@ -699,10 +122,8 @@ LegacyGap::ConnectionCallbackParams_t::ConnectionCallbackParams_t( const uint8_t *localResolvableAddrIn ) : handle(handleIn), role(roleIn), - peerAddrType(), peerAddr(), ownAddrType(ownAddrTypeIn), - ownAddr(), connectionParams(connectionParamsIn), peerResolvableAddr(), localResolvableAddr(), @@ -714,8 +135,6 @@ LegacyGap::ConnectionCallbackParams_t::ConnectionCallbackParams_t( peerResolvableAddrIn, localResolvableAddrIn ); - - convert_address_type(peerAddrTypeIn, peerAddrIn, peerAddrType); } template @@ -727,97 +146,15 @@ void LegacyGap::ConnectionCallbackParams_t::constructor_helper( ) { memcpy(peerAddr, peerAddrIn, ADDR_LEN); - if (ownAddrIn) { - memcpy(ownAddr, ownAddrIn, ADDR_LEN); - } else { - memset(ownAddr, 0, ADDR_LEN); - } - if (peerResolvableAddrIn) { memcpy(peerResolvableAddr, peerResolvableAddrIn, ADDR_LEN); - } else { - memset(ownAddr, 0, ADDR_LEN); } if (localResolvableAddrIn) { memcpy(localResolvableAddr, localResolvableAddrIn, ADDR_LEN); - } else { - memset(ownAddr, 0, ADDR_LEN); } } -#if BLE_ROLE_CENTRAL -template -ble_error_t LegacyGap::connect( - const BLEProtocol::AddressBytes_t peerAddr, - DeprecatedAddressType_t peerAddrType, - const ConnectionParams_t *connectionParams, - const GapScanningParams *scanParams -) { - return connect( - peerAddr, - (BLEProtocol::AddressType_t) peerAddrType, - connectionParams, - scanParams - ); -} -#endif // BLE_ROLE_CENTRAL - -template -void LegacyGap::processConnectionEvent( - Handle_t handle, - Role_t role, - BLEProtocol::AddressType_t peerAddrType, - const BLEProtocol::AddressBytes_t peerAddr, - BLEProtocol::AddressType_t ownAddrType, - const BLEProtocol::AddressBytes_t ownAddr, - const ConnectionParams_t *connectionParams, - const uint8_t *peerResolvableAddr, - const uint8_t *localResolvableAddr -) { - /* Update Gap state */ - state.advertising = 0; - state.connected = 1; - ++connectionCount; - - ConnectionCallbackParams_t callbackParams( - handle, - role, - peerAddrType, - peerAddr, - ownAddrType, - ownAddr, - connectionParams, - peerResolvableAddr, - localResolvableAddr - ); - - connectionCallChain.call(&callbackParams); -} - -template -void LegacyGap::processAdvertisementReport( - const BLEProtocol::AddressBytes_t peerAddr, - int8_t rssi, - bool isScanResponse, - GapAdvertisingParams::AdvertisingType_t type, - uint8_t advertisingDataLen, - const uint8_t *advertisingData, - BLEProtocol::AddressType_t addressType -) { - AdvertisementCallbackParams_t params; - memcpy(params.peerAddr, peerAddr, ADDR_LEN); - params.rssi = rssi; - params.isScanResponse = isScanResponse; - params.type = type; - params.advertisingDataLen = advertisingDataLen; - params.advertisingData = advertisingData; - params.addressType = addressType; - - params.peerAddrType = convert_legacy_address_type(addressType); - onAdvertisementReport.call(¶ms); -} - template void LegacyGap::processAdvertisementReport( const BLEProtocol::AddressBytes_t peerAddr, @@ -836,21 +173,10 @@ void LegacyGap::processAdvertisementReport( params.type = type; params.advertisingDataLen = advertisingDataLen; params.advertisingData = advertisingData; - params.peerAddrType = addressType; - - convert_address_type( - addressType, - peerAddr, - params.addressType - ); onAdvertisementReport.call(¶ms); } -#if defined(__GNUC__) -#pragma GCC diagnostic pop -#endif - #if BLE_ROLE_BROADCASTER template uint16_t LegacyGap::getMinAdvertisingInterval(void) const @@ -917,21 +243,6 @@ ble_error_t LegacyGap::getAppearance(GapAdvertisingData::Appearance *appea #endif // BLE_FEATURE_GATT_SERVER -#if BLE_ROLE_BROADCASTER -template -ble_error_t LegacyGap::setAdvertisingData( - const GapAdvertisingData &advData, - const GapAdvertisingData &scanResponse -) { - return impl()->setAdvertisingData_(advData, scanResponse); -} - -template -ble_error_t LegacyGap::startAdvertising(const GapAdvertisingParams ¶ms) { - return impl()->startAdvertising_(params); -} -#endif // BLE_ROLE_BROADCASTER - template ble_error_t LegacyGap::reset(void) { @@ -1062,14 +373,6 @@ ble_error_t LegacyGap::setWhitelist_(const Whitelist_t &whitelist) { return BLE_ERROR_NOT_IMPLEMENTED; } -template -ble_error_t LegacyGap::setAddress_( - BLEProtocol::AddressType_t type, - const BLEProtocol::AddressBytes_t address -) { - return BLE_ERROR_NOT_IMPLEMENTED; -} - template ble_error_t LegacyGap::getAddress_( BLEProtocol::AddressType_t *typeP, @@ -1078,107 +381,6 @@ ble_error_t LegacyGap::getAddress_( return BLE_ERROR_NOT_IMPLEMENTED; } -template -ble_error_t LegacyGap::stopAdvertising_(void) { - return BLE_ERROR_NOT_IMPLEMENTED; -} - -template -ble_error_t LegacyGap::connect_( - const BLEProtocol::AddressBytes_t peerAddr, - PeerAddressType_t peerAddrType, - const ConnectionParams_t *connectionParams, - const GapScanningParams *scanParams -) { - return BLE_ERROR_NOT_IMPLEMENTED; -} - -template -ble_error_t LegacyGap::connect_( - const BLEProtocol::AddressBytes_t peerAddr, - BLEProtocol::AddressType_t peerAddrType, - const ConnectionParams_t *connectionParams, - const GapScanningParams *scanParams -) { - return BLE_ERROR_NOT_IMPLEMENTED; -} - -template -ble_error_t LegacyGap::disconnect_( - Handle_t connectionHandle, DisconnectionReason_t reason -) { - return BLE_ERROR_NOT_IMPLEMENTED; -} - -template -ble_error_t LegacyGap::disconnect_(DisconnectionReason_t reason) { - return BLE_ERROR_NOT_IMPLEMENTED; -} - -template -ble_error_t LegacyGap::updateConnectionParams_( - Handle_t handle, - const ConnectionParams_t *params -) { - return BLE_ERROR_NOT_IMPLEMENTED; -} - - -template -ble_error_t LegacyGap::setTxPower_(int8_t txPower) { - return BLE_ERROR_NOT_IMPLEMENTED; -} - -template -void LegacyGap::getPermittedTxPowerValues_( - const int8_t **valueArrayPP, size_t *countP -) { - *countP = 0; -} - -template -ble_error_t LegacyGap::setAdvertisingPolicyMode_(AdvertisingPolicyMode_t mode) { - return BLE_ERROR_NOT_IMPLEMENTED; -} - -template -ble_error_t LegacyGap::setScanningPolicyMode_(ScanningPolicyMode_t mode) { - return BLE_ERROR_NOT_IMPLEMENTED; -} - -template -ble_error_t LegacyGap::setInitiatorPolicyMode_(InitiatorPolicyMode_t mode) { - return BLE_ERROR_NOT_IMPLEMENTED; -} - -template -typename LegacyGap::AdvertisingPolicyMode_t -LegacyGap::getAdvertisingPolicyMode_(void) const { - return LegacyGap::ADV_POLICY_IGNORE_WHITELIST; -} - -template -typename LegacyGap::ScanningPolicyMode_t -LegacyGap::getScanningPolicyMode_(void) const { - return LegacyGap::SCAN_POLICY_IGNORE_WHITELIST; -} - -template -typename LegacyGap::InitiatorPolicyMode_t -LegacyGap::getInitiatorPolicyMode_(void) const { - return LegacyGap::INIT_POLICY_IGNORE_WHITELIST; -} - -template -ble_error_t LegacyGap::startRadioScan_(const GapScanningParams &scanningParams) { - return BLE_ERROR_NOT_IMPLEMENTED; -} - -template -ble_error_t LegacyGap::initRadioNotification_(void) { - return BLE_ERROR_NOT_IMPLEMENTED; -} - template ble_error_t LegacyGap::getPreferredConnectionParams_(ConnectionParams_t *params) { @@ -1217,18 +419,5 @@ ble_error_t LegacyGap::getAppearance_(GapAdvertisingData::Appearance *appe return BLE_ERROR_NOT_IMPLEMENTED; } -template -ble_error_t LegacyGap::setAdvertisingData_( - const GapAdvertisingData &advData, - const GapAdvertisingData &scanResponse -) { - return BLE_ERROR_NOT_IMPLEMENTED; -} - -template -ble_error_t LegacyGap::startAdvertising_(const GapAdvertisingParams ¶ms) { - return BLE_ERROR_NOT_IMPLEMENTED; -} - } // namespace interface } // namespace ble diff --git a/features/FEATURE_BLE/source/generic/GenericGap.tpp b/features/FEATURE_BLE/source/generic/GenericGap.tpp index 7f60b9f6f8..c509c95fca 100644 --- a/features/FEATURE_BLE/source/generic/GenericGap.tpp +++ b/features/FEATURE_BLE/source/generic/GenericGap.tpp @@ -469,47 +469,6 @@ bool GenericGap class PalGapImpl, class PalSecurityManager, class ConnectionEventMonitorEventHandler> -ble_error_t GenericGap::setAddress_( - LegacyAddressType_t type, - const uint8_t* address -) -{ - switch (type) { - case LegacyAddressType::PUBLIC: - // The public address cannot be set, just set the type to public - _address_type = type; - return BLE_ERROR_NONE; - - case LegacyAddressType::RANDOM_STATIC: { - if (is_random_static_address(address) == false) { - return BLE_ERROR_INVALID_PARAM; - } - - ble_error_t err = _pal_gap.set_random_address( - ble::address_t(address) - ); - if (err) { - return err; - } - - _address_type = type; - _address = ble::address_t(address); - _random_static_identity_address = ble::address_t(address); - return BLE_ERROR_NONE; - } - - case LegacyAddressType::RANDOM_PRIVATE_RESOLVABLE: - case LegacyAddressType::RANDOM_PRIVATE_NON_RESOLVABLE: - // Note: it is not allowed to set directly these addresses - // privacy management handled it for users. - return BLE_ERROR_INVALID_PARAM; - - default: - return BLE_ERROR_INVALID_PARAM; - } -} - template class PalGapImpl, class PalSecurityManager, class ConnectionEventMonitorEventHandler> ble_error_t GenericGap::setRandomStaticAddress_( const ble::address_t& address @@ -567,25 +526,6 @@ uint16_t GenericGap class PalGapImpl, class PalSecurityManager, class ConnectionEventMonitorEventHandler> -ble_error_t GenericGap::stopAdvertising_() -{ - useVersionOneAPI(); - ble_error_t err = _pal_gap.advertising_enable(false); - if (err) { - return err; - } - _advertising_timeout.detach(); - state.advertising = false; - -#if BLE_FEATURE_PRIVACY - // Stop address rotation if required - set_random_address_rotation(false); -#endif - - return BLE_ERROR_NONE; -} - template class PalGapImpl, class PalSecurityManager, class ConnectionEventMonitorEventHandler> ble_error_t GenericGap::stopScan_() { @@ -1572,7 +1512,6 @@ void GenericGap class PalGapImpl, class PalSecurityManager, class ConnectionEventMonitorEventHandler> @@ -1609,12 +1547,10 @@ void GenericGap class PalGapImpl, class PalSecurityManager, class ConnectionEventMonitorEventHandler> @@ -1656,18 +1592,6 @@ void GenericGap class PalGapImpl, class PalSecurityManager, class ConnectionEventMonitorEventHandler> -void GenericGap::process_scan_timeout() -{ - ble_error_t err = _pal_gap.scan_enable(false, false); - if (err) { - // TODO: define the mechanism signaling the error - } - BLE_DEPRECATED_API_USE_BEGIN() - LegacyGap::processTimeoutEvent(LegacyGap::TIMEOUT_SRC_SCAN); - BLE_DEPRECATED_API_USE_END() -} - template class PalGapImpl, class PalSecurityManager, class ConnectionEventMonitorEventHandler> void GenericGap::on_advertising_timeout() { @@ -1687,9 +1611,7 @@ void GenericGap class PalGapImpl, class PalSecurityManager, class ConnectionEventMonitorEventHandler> @@ -1792,7 +1714,6 @@ void GenericGapvalue() ); - BLE_DEPRECATED_API_USE_END() } }