High level Bluetooth Low Energy API and radio abstraction layer
Fork of BLE_API by
Diff: ble/ServiceDiscovery.h
- Revision:
- 1135:22aada733dbd
- Parent:
- 1131:692ddf04fc42
- Child:
- 1169:39f9a7bdf0a5
--- a/ble/ServiceDiscovery.h Wed Apr 06 19:13:52 2016 +0100 +++ b/ble/ServiceDiscovery.h Wed Apr 06 19:13:54 2016 +0100 @@ -132,6 +132,27 @@ */ virtual void onTermination(TerminationCallback_t callback) = 0; + /** + * Clear all ServiceDiscovery 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 ServiceDiscovery members. This shall be + * achieved by a call to ServiceDiscovery::reset() from the sub-class' + * reset() implementation. + * + * @return BLE_ERROR_NONE on success. + */ + virtual ble_error_t reset(void) { + connHandle = 0; + matchingServiceUUID = UUID::ShortUUIDBytes_t(BLE_UUID_UNKNOWN); + serviceCallback = NULL; + matchingCharacteristicUUID = UUID::ShortUUIDBytes_t(BLE_UUID_UNKNOWN); + characteristicCallback = NULL; + + return BLE_ERROR_NONE; + } + protected: Gap::Handle_t connHandle; /**< Connection handle as provided by the SoftDevice. */ UUID matchingServiceUUID;