Commit c4efc263 authored by Alex Blasche's avatar Alex Blasche
Browse files

Remove duplicated closure code and add missing cases of it


Change-Id: I4f33ec95b2af858b8d0c3ff60882b550a91563df
Reviewed-by: default avatarOliver Wolff <oliver.wolff@qt.io>
Reviewed-by: default avatarTimur Pocheptsov <timur.pocheptsov@qt.io>
Showing with 24 additions and 33 deletions
...@@ -98,19 +98,11 @@ void QLowEnergyControllerPrivateBluezDBus::devicePropertiesChanged( ...@@ -98,19 +98,11 @@ void QLowEnergyControllerPrivateBluezDBus::devicePropertiesChanged(
case QLowEnergyController::DiscoveredState: case QLowEnergyController::DiscoveredState:
case QLowEnergyController::ClosingState: case QLowEnergyController::ClosingState:
{ {
bool emitDisconnect = disconnectSignalRequired; QLowEnergyController::Error newError = QLowEnergyController::NoError;
bool emitError = pendingConnect; if (pendingConnect)
newError = QLowEnergyController::ConnectionError;
resetController(); executeClose(newError);
if (emitError)
setError(QLowEnergyController::ConnectionError);
setState(QLowEnergyController::UnconnectedState);
if (emitDisconnect) {
Q_Q(QLowEnergyController);
emit q->disconnected();
}
} }
break; break;
case QLowEnergyController::AdvertisingState: case QLowEnergyController::AdvertisingState:
...@@ -203,15 +195,11 @@ void QLowEnergyControllerPrivateBluezDBus::interfacesRemoved( ...@@ -203,15 +195,11 @@ void QLowEnergyControllerPrivateBluezDBus::interfacesRemoved(
const QDBusObjectPath &objectPath, const QStringList &/*interfaces*/) const QDBusObjectPath &objectPath, const QStringList &/*interfaces*/)
{ {
if (objectPath.path() == device->path()) { if (objectPath.path() == device->path()) {
resetController();
setError(QLowEnergyController::UnknownRemoteDeviceError);
qCWarning(QT_BT_BLUEZ) << "DBus Device1 was removed"; qCWarning(QT_BT_BLUEZ) << "DBus Device1 was removed";
setState(QLowEnergyController::UnconnectedState); executeClose(QLowEnergyController::UnknownRemoteDeviceError);
} else if (objectPath.path() == adapter->path()) { } else if (objectPath.path() == adapter->path()) {
resetController();
setError(QLowEnergyController::InvalidBluetoothAdapterError);
qCWarning(QT_BT_BLUEZ) << "DBus Adapter was removed"; qCWarning(QT_BT_BLUEZ) << "DBus Adapter was removed";
setState(QLowEnergyController::UnconnectedState); executeClose(QLowEnergyController::InvalidBluetoothAdapterError);
} }
} }
...@@ -354,14 +342,7 @@ void QLowEnergyControllerPrivateBluezDBus::connectToDevice() ...@@ -354,14 +342,7 @@ void QLowEnergyControllerPrivateBluezDBus::connectToDevice()
qCDebug(QT_BT_BLUEZ) << "BTLE_DBUS::connect() failed" qCDebug(QT_BT_BLUEZ) << "BTLE_DBUS::connect() failed"
<< reply.reply().errorName() << reply.reply().errorName()
<< reply.reply().errorMessage(); << reply.reply().errorMessage();
bool emitDisconnect = disconnectSignalRequired; executeClose(QLowEnergyController::UnknownError);
resetController();
setError(QLowEnergyController::UnknownError);
setState(QLowEnergyController::UnconnectedState);
if (emitDisconnect) {
Q_Q(QLowEnergyController);
emit q->disconnected();
}
} // else -> connected when Connected property is set to true (see devicePropertiesChanged()) } // else -> connected when Connected property is set to true (see devicePropertiesChanged())
call->deleteLater(); call->deleteLater();
}); });
...@@ -380,13 +361,7 @@ void QLowEnergyControllerPrivateBluezDBus::disconnectFromDevice() ...@@ -380,13 +361,7 @@ void QLowEnergyControllerPrivateBluezDBus::disconnectFromDevice()
qCDebug(QT_BT_BLUEZ) << "BTLE_DBUS::disconnect() failed" qCDebug(QT_BT_BLUEZ) << "BTLE_DBUS::disconnect() failed"
<< reply.reply().errorName() << reply.reply().errorName()
<< reply.reply().errorMessage(); << reply.reply().errorMessage();
bool emitDisconnect = disconnectSignalRequired; executeClose(QLowEnergyController::NoError);
resetController();
setState(QLowEnergyController::UnconnectedState);
if (emitDisconnect) {
Q_Q(QLowEnergyController);
emit q->disconnected();
}
} }
call->deleteLater(); call->deleteLater();
}); });
...@@ -522,6 +497,21 @@ void QLowEnergyControllerPrivateBluezDBus::discoverBatteryServiceDetails( ...@@ -522,6 +497,21 @@ void QLowEnergyControllerPrivateBluezDBus::discoverBatteryServiceDetails(
serviceData->setState(QLowEnergyService::ServiceDiscovered); serviceData->setState(QLowEnergyService::ServiceDiscovered);
} }
void QLowEnergyControllerPrivateBluezDBus::executeClose(QLowEnergyController::Error newError)
{
const bool emitDisconnect = disconnectSignalRequired;
resetController();
if (newError != QLowEnergyController::NoError)
setError(newError);
setState(QLowEnergyController::UnconnectedState);
if (emitDisconnect) {
Q_Q(QLowEnergyController);
emit q->disconnected();
}
}
void QLowEnergyControllerPrivateBluezDBus::discoverServiceDetails(const QBluetoothUuid &service) void QLowEnergyControllerPrivateBluezDBus::discoverServiceDetails(const QBluetoothUuid &service)
{ {
if (!serviceList.contains(service) || !dbusServices.contains(service)) { if (!serviceList.contains(service) || !dbusServices.contains(service)) {
......
...@@ -189,6 +189,7 @@ private: ...@@ -189,6 +189,7 @@ private:
void prepareNextJob(); void prepareNextJob();
void discoverBatteryServiceDetails(GattService &dbusData, void discoverBatteryServiceDetails(GattService &dbusData,
QSharedPointer<QLowEnergyServicePrivate> serviceData); QSharedPointer<QLowEnergyServicePrivate> serviceData);
void executeClose(QLowEnergyController::Error newError);
}; };
QT_END_NAMESPACE QT_END_NAMESPACE
......
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