diff --git a/features/FEATURE_BLE/ble/generic/GenericGap.h b/features/FEATURE_BLE/ble/generic/GenericGap.h index 3c34a9734a..d18814adc7 100644 --- a/features/FEATURE_BLE/ble/generic/GenericGap.h +++ b/features/FEATURE_BLE/ble/generic/GenericGap.h @@ -23,6 +23,7 @@ #include "ble/BLEProtocol.h" #include "ble/Gap.h" #include "ble/pal/PalGap.h" +#include "ble/pal/PalSecurityManager.h" #include "ble/pal/GapEvents.h" #include "ble/pal/GapTypes.h" #include "ble/BLETypes.h" @@ -55,11 +56,15 @@ public: * * @param generic_access_service Platform abstraction instance managing * the GATT generic access service. + * + * @param pal_sm Security Manager Platform abstraction instance containing the base + * Security Manager primitives. */ GenericGap( pal::EventQueue &event_queue, pal::Gap &pal_gap, - pal::GenericAccessService &generic_access_service + pal::GenericAccessService &generic_access_service, + pal::SecurityManager &pal_sm ); /** @@ -350,6 +355,7 @@ private: pal::EventQueue& _event_queue; pal::Gap &_pal_gap; pal::GenericAccessService &_gap_service; + pal::SecurityManager &_pal_sm; BLEProtocol::AddressType_t _address_type; ble::address_t _address; pal::initiator_policy_t _initiator_policy_mode; diff --git a/features/FEATURE_BLE/source/generic/GenericGap.cpp b/features/FEATURE_BLE/source/generic/GenericGap.cpp index 21fed40982..9ada111b3b 100644 --- a/features/FEATURE_BLE/source/generic/GenericGap.cpp +++ b/features/FEATURE_BLE/source/generic/GenericGap.cpp @@ -382,10 +382,12 @@ static bool is_advertising_params_valid(const GapAdvertisingParams& params) GenericGap::GenericGap( pal::EventQueue& event_queue, pal::Gap& pal_gap, - pal::GenericAccessService& generic_access_service + pal::GenericAccessService& generic_access_service, + pal::SecurityManager& pal_sm ) : _event_queue(event_queue), _pal_gap(pal_gap), _gap_service(generic_access_service), + _pal_sm(pal_sm), _address_type(BLEProtocol::AddressType::PUBLIC), _initiator_policy_mode(pal::initiator_policy_t::NO_FILTER), _scanning_filter_policy(pal::scanning_filter_policy_t::NO_FILTER), diff --git a/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioBLE.cpp b/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioBLE.cpp index 46ec738a0e..48b7d0724f 100644 --- a/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioBLE.cpp +++ b/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioBLE.cpp @@ -170,7 +170,8 @@ generic::GenericGap& BLE::getGap() static ble::generic::GenericGap gap( _event_queue, pal::vendor::cordio::Gap::get_gap(), - cordio_gap_service + cordio_gap_service, + pal::vendor::cordio::CordioSecurityManager::get_security_manager() ); return gap;