diff options
author | Andreas Buhr <andreas.buhr@qt.io> | 2021-08-18 13:28:28 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-08-27 22:39:48 +0000 |
commit | 1adce92f94db4ba5d042082b17919f762a9ca648 (patch) | |
tree | ddc99c32dd1873dcf6e2f881f93bd7a989d65fb4 /src | |
parent | 7e4cb6b13c77ab085e50f6cc333b9d98f872eeae (diff) |
Remove BlueZ4 code paths in QLowEnergyController
This patch removes the BlueZ 4 code paths in QLowEnergyController.
Task-number: QTBUG-75342
Change-Id: I02482b508a05914f6c4b15d5d33034d86c3df988
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
(cherry picked from commit 20fbdb4ac7ec9528a54cdc776f3d61a64427cfc9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/bluetooth/qlowenergycontroller_bluez.cpp | 76 |
1 files changed, 21 insertions, 55 deletions
diff --git a/src/bluetooth/qlowenergycontroller_bluez.cpp b/src/bluetooth/qlowenergycontroller_bluez.cpp index 6eb07380..cdb482a9 100644 --- a/src/bluetooth/qlowenergycontroller_bluez.cpp +++ b/src/bluetooth/qlowenergycontroller_bluez.cpp @@ -3021,67 +3021,33 @@ void QLowEnergyControllerPrivateBluez::sendNextIndication() sendIndication(scheduledIndications.takeFirst()); } -static QString nameOfRemoteCentral(const QBluetoothAddress &peerAddress, const QBluetoothAddress &localAdapter) +static QString nameOfRemoteCentral(const QBluetoothAddress &peerAddress) { const QString peerAddressString = peerAddress.toString(); - if (isBluez5()) { - OrgFreedesktopDBusObjectManagerInterface manager(QStringLiteral("org.bluez"), - QStringLiteral("/"), - QDBusConnection::systemBus()); - QDBusPendingReply<ManagedObjectList> reply = manager.GetManagedObjects(); - reply.waitForFinished(); - if (reply.isError()) - return QString(); - - ManagedObjectList managedObjectList = reply.value(); - for (ManagedObjectList::const_iterator it = managedObjectList.constBegin(); it != managedObjectList.constEnd(); ++it) { - const InterfaceList &ifaceList = it.value(); - - for (InterfaceList::const_iterator jt = ifaceList.constBegin(); jt != ifaceList.constEnd(); ++jt) { - const QString &iface = jt.key(); - const QVariantMap &ifaceValues = jt.value(); - - if (iface == QStringLiteral("org.bluez.Device1")) { - if (ifaceValues.value(QStringLiteral("Address")).toString() == peerAddressString) - return ifaceValues.value(QStringLiteral("Alias")).toString(); - } - } - } + initializeBluez5(); + OrgFreedesktopDBusObjectManagerInterface manager(QStringLiteral("org.bluez"), + QStringLiteral("/"), + QDBusConnection::systemBus()); + QDBusPendingReply<ManagedObjectList> reply = manager.GetManagedObjects(); + reply.waitForFinished(); + if (reply.isError()) return QString(); - } else { - OrgBluezManagerInterface manager(QStringLiteral("org.bluez"), QStringLiteral("/"), - QDBusConnection::systemBus()); - - QDBusPendingReply<QDBusObjectPath> reply = manager.FindAdapter(localAdapter.toString()); - reply.waitForFinished(); - if (reply.isError()) - return QString(); - - OrgBluezAdapterInterface adapter(QStringLiteral("org.bluez"), reply.value().path(), - QDBusConnection::systemBus()); - - QDBusPendingReply<QDBusObjectPath> deviceObjectPath = adapter.FindDevice(peerAddressString); - deviceObjectPath.waitForFinished(); - if (deviceObjectPath.isError()) { - if (deviceObjectPath.error().name() != QStringLiteral("org.bluez.Error.DoesNotExist")) - return QString(); - - deviceObjectPath = adapter.CreateDevice(peerAddressString); - deviceObjectPath.waitForFinished(); - if (deviceObjectPath.isError()) - return QString(); - } - OrgBluezDeviceInterface device(QStringLiteral("org.bluez"), deviceObjectPath.value().path(), - QDBusConnection::systemBus()); + ManagedObjectList managedObjectList = reply.value(); + for (ManagedObjectList::const_iterator it = managedObjectList.constBegin(); it != managedObjectList.constEnd(); ++it) { + const InterfaceList &ifaceList = it.value(); - QDBusPendingReply<QVariantMap> properties = device.GetProperties(); - properties.waitForFinished(); - if (properties.isError()) - return QString(); + for (InterfaceList::const_iterator jt = ifaceList.constBegin(); jt != ifaceList.constEnd(); ++jt) { + const QString &iface = jt.key(); + const QVariantMap &ifaceValues = jt.value(); - return properties.value().value(QStringLiteral("Alias")).toString(); + if (iface == QStringLiteral("org.bluez.Device1")) { + if (ifaceValues.value(QStringLiteral("Address")).toString() == peerAddressString) + return ifaceValues.value(QStringLiteral("Alias")).toString(); + } + } } + return QString(); } void QLowEnergyControllerPrivateBluez::handleConnectionRequest() @@ -3104,7 +3070,7 @@ void QLowEnergyControllerPrivateBluez::handleConnectionRequest() } remoteDevice = QBluetoothAddress(convertAddress(clientAddr.l2_bdaddr.b)); - remoteName = nameOfRemoteCentral(remoteDevice, localAdapter); + remoteName = nameOfRemoteCentral(remoteDevice); qCDebug(QT_BT_BLUEZ) << "GATT connection from device" << remoteDevice << remoteName; if (connectionHandle == 0) |