From f399837b3a723af9add6d9ea2d2e988f64f76ae0 Mon Sep 17 00:00:00 2001 From: Alex Blasche Date: Thu, 10 Jul 2014 15:47:41 +0200 Subject: Add simpler API to retrieve descriptor/characteristic for certain uuid This new API is mostly syntactic sugar and reduces the amount of code to be written by API users. Change-Id: I51ff1ea706ac97199646d211e39e79c8140ee74b Reviewed-by: Fabian Bumberger --- src/bluetooth/qlowenergyservice.cpp | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'src/bluetooth/qlowenergyservice.cpp') diff --git a/src/bluetooth/qlowenergyservice.cpp b/src/bluetooth/qlowenergyservice.cpp index 30fe5733..401468f4 100644 --- a/src/bluetooth/qlowenergyservice.cpp +++ b/src/bluetooth/qlowenergyservice.cpp @@ -93,12 +93,35 @@ QLowEnergyService::ServiceState QLowEnergyService::state() const return d_ptr->state; } - QLowEnergyService::ServiceType QLowEnergyService::type() const { return d_ptr->type; } +/*! + Returns the matching characteristic for \a uuid; otherwise an invalid + characteristic. + + \sa characteristics() +*/ +QLowEnergyCharacteristic QLowEnergyService::characteristic(const QBluetoothUuid &uuid) const +{ + foreach (const QLowEnergyHandle handle, d_ptr->characteristicList.keys()) { + if (d_ptr->characteristicList[handle].uuid == uuid) + return QLowEnergyCharacteristic(d_ptr, handle); + } + + return QLowEnergyCharacteristic(); +} + +/*! + Returns all characteristics associated with this \c QLowEnergyService instance. + + The returned list will be empty if this service instance is invalid, + \l discoverDetails() was not yet called or there are no known characteristics. + + \sa characteristic(), state(), discoverDetails +*/ QList QLowEnergyService::characteristics() const { -- cgit v1.2.3