Commit 9004e89b authored by Alex Blasche's avatar Alex Blasche
Browse files

Ensure that local services have state LocalService


and invalidate the state once they have been disconnected. This affects
Android, Bluez and Apple code lines.

Change-Id: I2b87577930b6ae78e7ef7ef061e597beba946594
Reviewed-by: default avatarOliver Wolff <oliver.wolff@qt.io>
Showing with 6 additions and 4 deletions
...@@ -1372,6 +1372,7 @@ QLowEnergyService *QLowEnergyController::addService(const QLowEnergyServiceData ...@@ -1372,6 +1372,7 @@ QLowEnergyService *QLowEnergyController::addService(const QLowEnergyServiceData
if (const auto servicePrivate = [osx_d_ptr->peripheralManager addService:data]) { if (const auto servicePrivate = [osx_d_ptr->peripheralManager addService:data]) {
servicePrivate->setController(osx_d_ptr); servicePrivate->setController(osx_d_ptr);
servicePrivate->state = QLowEnergyService::LocalService;
osx_d_ptr->discoveredServices.insert(servicePrivate->uuid, servicePrivate); osx_d_ptr->discoveredServices.insert(servicePrivate->uuid, servicePrivate);
return new QLowEnergyService(servicePrivate, parent); return new QLowEnergyService(servicePrivate, parent);
} }
......
...@@ -255,10 +255,11 @@ quint16 QLowEnergyControllerPrivate::updateValueOfDescriptor( ...@@ -255,10 +255,11 @@ quint16 QLowEnergyControllerPrivate::updateValueOfDescriptor(
void QLowEnergyControllerPrivate::invalidateServices() void QLowEnergyControllerPrivate::invalidateServices()
{ {
for (QSharedPointer<QLowEnergyServicePrivate> service : serviceList.values()) { for (QSharedPointer<QLowEnergyServicePrivate> service : serviceList.values())
service->setController(nullptr);
for (QSharedPointer<QLowEnergyServicePrivate> service : localServices.values())
service->setController(nullptr); service->setController(nullptr);
service->setState(QLowEnergyService::InvalidService);
}
serviceList.clear(); serviceList.clear();
localServices.clear(); localServices.clear();
...@@ -273,8 +274,8 @@ QLowEnergyService *QLowEnergyControllerPrivate::addServiceHelper( ...@@ -273,8 +274,8 @@ QLowEnergyService *QLowEnergyControllerPrivate::addServiceHelper(
// for it. // for it.
const auto servicePrivate = QSharedPointer<QLowEnergyServicePrivate>::create(); const auto servicePrivate = QSharedPointer<QLowEnergyServicePrivate>::create();
servicePrivate->state = QLowEnergyService::LocalService;
servicePrivate->setController(this); servicePrivate->setController(this);
servicePrivate->state = QLowEnergyService::LocalService;
servicePrivate->uuid = service.uuid(); servicePrivate->uuid = service.uuid();
servicePrivate->type = service.type() == QLowEnergyServiceData::ServiceTypePrimary servicePrivate->type = service.type() == QLowEnergyServiceData::ServiceTypePrimary
? QLowEnergyService::PrimaryService : QLowEnergyService::IncludedService; ? QLowEnergyService::PrimaryService : QLowEnergyService::IncludedService;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment