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_HeartRate_IDB04A1
Fork of BLE_API by
Diff: source/BLE.cpp
- Revision:
- 874:0607a58418ce
- Parent:
- 861:2afa79e3ed0a
- Child:
- 875:25480c83e3cc
--- a/source/BLE.cpp Tue Nov 03 12:51:24 2015 +0000
+++ b/source/BLE.cpp Tue Nov 03 12:51:24 2015 +0000
@@ -22,8 +22,28 @@
#endif
ble_error_t
-BLE::init(BLE::InitializationCompleteCallback_t callback)
+BLE::init(BLE::InitializationCompleteCallback_t initCompleteCallback)
{
+ FunctionPointerWithContext<InitializationCompleteCallbackContext *>callback(initCompleteCallback);
+ ble_error_t err = transport->init(instanceID, callback);
+ if (err != BLE_ERROR_NONE) {
+ return err;
+ }
+
+ /* Platforms enabled for DFU should introduce the DFU Service into
+ * applications automatically. */
+#if defined(TARGET_OTA_ENABLED)
+ static DFUService dfu(*this); // defined static so that the object remains alive
+#endif // TARGET_OTA_ENABLED
+
+ return BLE_ERROR_NONE;
+}
+
+template <typename T>
+ble_error_t
+BLE::init(T *object, void (T::*initCompleteCallback)(InitializationCompleteCallbackContext *))
+{
+ FunctionPointerWithContext<InitializationCompleteCallbackContext *>callback(object, initCompleteCallback);
ble_error_t err = transport->init(instanceID, callback);
if (err != BLE_ERROR_NONE) {
return err;
