BLE

Fork of BLE_API by Bluetooth Low Energy

Revision:
1083:127667021827
Parent:
1076:0d0dafb54bc9
Child:
1085:40c1e518d6de
--- a/ble/SecurityManager.h	Mon Jan 11 08:51:45 2016 +0000
+++ b/ble/SecurityManager.h	Mon Jan 11 08:51:46 2016 +0000
@@ -231,6 +231,28 @@
         /* empty */
     }
 
+public:
+    /**
+     * Clear all SecurityManager state of the associated object.
+     *
+     * This function is meant to be overridden in the platform-specific
+     * sub-class. Nevertheless, the sub-class is only expected to reset its
+     * state and not the data held in SecurityManager members. This shall be
+     * achieved by a call to SecurityManager::reset() from the sub-class'
+     * reset() implementation.
+     *
+     * @return BLE_ERROR_NONE on success.
+     */
+    virtual ble_error_t reset(void) {
+        securitySetupInitiatedCallback = NULL;
+        securitySetupCompletedCallback = NULL;
+        linkSecuredCallback = NULL;
+        securityContextStoredCallback = NULL;
+        passkeyDisplayCallback = NULL;
+
+        return BLE_ERROR_NONE;
+    }
+
 protected:
     SecuritySetupInitiatedCallback_t securitySetupInitiatedCallback;
     SecuritySetupCompletedCallback_t securitySetupCompletedCallback;