No changes
Fork of nRF51822 by
Diff: source/nRF5xServiceDiscovery.h
- Revision:
- 575:7023a8204a1b
- Parent:
- 571:bbf6410b6a89
- Child:
- 590:3bdd5346ded1
--- a/source/nRF5xServiceDiscovery.h Mon Jan 11 10:19:23 2016 +0000 +++ b/source/nRF5xServiceDiscovery.h Mon Jan 11 10:19:24 2016 +0000 @@ -99,6 +99,34 @@ onTerminationCallback = callback; } + /** + * @brief Clear nRF5xServiceDiscovery's state. + * + * @return + * BLE_ERROR_NONE if successful. + */ + virtual ble_error_t reset(void) { + /* Clear all state that is from the parent, including private members */ + if (ServiceDiscovery::reset() != BLE_ERROR_NONE) { + return BLE_ERROR_INVALID_STATE; + } + + /* Clear derived class members */ + serviceIndex = 0; + numServices = 0; + characteristicIndex = 0; + numCharacteristics = 0; + + state = INACTIVE; + + serviceUUIDDiscoveryQueue.reset(); + charUUIDDiscoveryQueue.reset(); + + onTerminationCallback = NULL; + + return BLE_ERROR_NONE; + } + private: ble_error_t launchCharacteristicDiscovery(Gap::Handle_t connectionHandle, Gap::Handle_t startHandle, Gap::Handle_t endHandle);