Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: BLE_PowerBank_HeyFaradey
Fork of BLE_API by
Diff: public/Gap.h
- Revision:
- 407:ca6b956b33d1
- Parent:
- 406:cec6778acc66
- Child:
- 412:7a295e110b77
diff -r cec6778acc66 -r ca6b956b33d1 public/Gap.h
--- a/public/Gap.h Mon May 18 09:54:27 2015 +0100
+++ b/public/Gap.h Mon May 18 09:54:27 2015 +0100
@@ -172,7 +172,6 @@
virtual ble_error_t setAdvertisingData(const GapAdvertisingData &, const GapAdvertisingData &) = 0;
virtual ble_error_t startAdvertising(const GapAdvertisingParams &) = 0;
virtual ble_error_t stopAdvertising(void) = 0;
- virtual ble_error_t startScan(const GapScanningParams &scanningParams, void (*callback)(const AdvertisementCallbackParams_t *params)) = 0;
virtual ble_error_t stopScan() = 0;
virtual uint16_t getMinAdvertisingInterval(void) const = 0;
virtual uint16_t getMinNonConnectableAdvertisingInterval(void) const = 0;
@@ -190,7 +189,32 @@
virtual ble_error_t setAppearance(uint16_t appearance) = 0;
virtual ble_error_t getAppearance(uint16_t *appearanceP) = 0;
+ ble_error_t startScan(const GapScanningParams &scanningParams, void (*callback)(const AdvertisementCallbackParams_t *params)) {
+ ble_error_t err = BLE_ERROR_NONE;
+ if (callback) {
+ if ((err = startRadioScan(scanningParams)) == BLE_ERROR_NONE) {
+ onAdvertisementReport.attach(callback);
+ }
+ }
+
+ return err;
+ }
+
+ template<typename T>
+ ble_error_t startScan(const GapScanningParams &scanningParams, T *object, void (T::*callbackMember)(const AdvertisementCallbackParams_t *params)) {
+ ble_error_t err = BLE_ERROR_NONE;
+ if (object && callbackMember) {
+ if ((err = startRadioScan(scanningParams)) == BLE_ERROR_NONE) {
+ onAdvertisementReport.attach(object, callbackMember);
+ }
+ }
+
+ return err;
+ }
+
protected:
+ virtual ble_error_t startRadioScan(const GapScanningParams &scanningParams) = 0;
+
/* Event callback handlers */
void setOnTimeout(EventCallback_t callback) {onTimeout = callback;}
void setOnConnection(ConnectionEventCallback_t callback) {onConnection = callback;}
