High level Bluetooth Low Energy API and radio abstraction layer
Fork of BLE_API by
Diff: ble/ServiceDiscovery.h
- Revision:
- 1074:1fedc77d9add
- Parent:
- 1063:187f9929cb60
- Child:
- 1075:0d0dafb54bc9
diff -r edd717e9f799 -r 1fedc77d9add ble/ServiceDiscovery.h --- a/ble/ServiceDiscovery.h Mon Jan 11 08:51:41 2016 +0000 +++ b/ble/ServiceDiscovery.h Mon Jan 11 08:51:42 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 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;