Bike service
Fork of BLE_API by
Diff: ble/ServiceDiscovery.h
- Revision:
- 1062:a3fd424b73ca
- Parent:
- 1052:b55e1ad3e1b3
- Child:
- 1063:187f9929cb60
--- a/ble/ServiceDiscovery.h Mon Jan 11 08:51:36 2016 +0000 +++ b/ble/ServiceDiscovery.h Mon Jan 11 08:51:37 2016 +0000 @@ -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 clean up its + * state and not the data held in ServiceDiscovery members. This shall be + * achieved by a call to ServiceDiscovery::cleanup() from the sub-class' + * cleanup() implementation. + * + * @return BLE_ERROR_NONE on success. + */ + virtual ble_error_t cleanup(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;