diff options
author | Alex Blasche <alexander.blasche@qt.io> | 2018-03-07 15:05:03 +0100 |
---|---|---|
committer | Alex Blasche <alexander.blasche@qt.io> | 2018-03-08 15:51:38 +0000 |
commit | 24a07f0a94a0ac036866c18ef415f06dd1fb8bbe (patch) | |
tree | 990ede1194ddf315f33fb472cf3537f26e2eb976 | |
parent | 0a97e6cd908995699793b8513d3c7ef8020c2e32 (diff) |
Enable new DBus LE backed for central role use casesv5.11.0-beta2
The manual override env variable was renamed. The new name is
more fitting for the use case.
Task-number: QTBUG-46819
Task-number: QTBUG-66908
Change-Id: I9202ebf3f847d5c7dcc9e3c84b060b35343dd2fd
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
-rw-r--r-- | src/bluetooth/bluez/bluez5_helper.cpp | 5 | ||||
-rw-r--r-- | src/bluetooth/qlowenergycontroller.cpp | 16 |
2 files changed, 12 insertions, 9 deletions
diff --git a/src/bluetooth/bluez/bluez5_helper.cpp b/src/bluetooth/bluez/bluez5_helper.cpp index 90b7e5e0..f798088e 100644 --- a/src/bluetooth/bluez/bluez5_helper.cpp +++ b/src/bluetooth/bluez/bluez5_helper.cpp @@ -197,8 +197,9 @@ QVersionNumber bluetoothdVersion() if (bluezDaemonVersion()->isNull()) { qCDebug(QT_BT_BLUEZ) << "Detecting bluetoothd version"; //Order of matching - // 1. Pick whatever the user decides via BLUETOOTH_USE_BLUEZ_DBUS_LE - const QString version = qEnvironmentVariable("BLUETOOTH_USE_BLUEZ_DBUS_LE"); + // 1. Pick whatever the user decides via BLUETOOTH_FORCE_DBUS_LE_VERSION + // Set version to below version 5.42 to use custom/old GATT stack implementation + const QString version = qEnvironmentVariable("BLUETOOTH_FORCE_DBUS_LE_VERSION"); if (!version.isNull()) { const QVersionNumber vn = QVersionNumber::fromString(version); if (!vn.isNull()) { diff --git a/src/bluetooth/qlowenergycontroller.cpp b/src/bluetooth/qlowenergycontroller.cpp index 3be1aed3..caa6c3fa 100644 --- a/src/bluetooth/qlowenergycontroller.cpp +++ b/src/bluetooth/qlowenergycontroller.cpp @@ -292,11 +292,13 @@ void registerQLowEnergyControllerMetaType() } } -static QLowEnergyControllerPrivate *privateController() +static QLowEnergyControllerPrivate *privateController(QLowEnergyController::Role role) { #if QT_CONFIG(bluez) && !defined(QT_BLUEZ_NO_BTLE) - // for now Bluez DBus disabled - if (false && bluetoothdVersion() >= QVersionNumber(5, 42)) { + // The new DBUS implementation only supports Central role for now + // For Peripheral role support see QTBUG-66909 + if (role == QLowEnergyController::CentralRole + && bluetoothdVersion() >= QVersionNumber(5, 42)) { qCWarning(QT_BT) << "Using BlueZ LE DBus API"; return new QLowEnergyControllerPrivateBluezDBus(); } else { @@ -329,7 +331,7 @@ QLowEnergyController::QLowEnergyController( QObject *parent) : QObject(parent) { - d_ptr = privateController(); + d_ptr = privateController(CentralRole); Q_D(QLowEnergyController); d->q_ptr = this; @@ -358,7 +360,7 @@ QLowEnergyController::QLowEnergyController( QObject *parent) : QObject(parent) { - d_ptr = privateController(); + d_ptr = privateController(CentralRole); Q_D(QLowEnergyController); d->q_ptr = this; @@ -391,7 +393,7 @@ QLowEnergyController::QLowEnergyController( QObject *parent) : QObject(parent) { - d_ptr = privateController(); + d_ptr = privateController(CentralRole); Q_D(QLowEnergyController); d->q_ptr = this; @@ -436,7 +438,7 @@ QLowEnergyController *QLowEnergyController::createPeripheral(QObject *parent) QLowEnergyController::QLowEnergyController(QObject *parent) : QObject(parent) { - d_ptr = privateController(); + d_ptr = privateController(PeripheralRole); Q_D(QLowEnergyController); d->q_ptr = this; |