summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/bluetooth/heartlistener/heartrate.cpp10
-rw-r--r--examples/bluetooth/lowenergyscanner/device.cpp11
-rw-r--r--src/bluetooth/doc/snippets/doc_src_qtbluetooth.cpp4
-rw-r--r--src/bluetooth/qlowenergycontroller.cpp4
-rw-r--r--src/bluetooth/qlowenergycontroller.h4
-rw-r--r--tests/auto/qlowenergycharacteristic/tst_qlowenergycharacteristic.cpp13
-rw-r--r--tests/auto/qlowenergycontroller/tst_qlowenergycontroller.cpp98
7 files changed, 57 insertions, 87 deletions
diff --git a/examples/bluetooth/heartlistener/heartrate.cpp b/examples/bluetooth/heartlistener/heartrate.cpp
index b4496925..fe53a740 100644
--- a/examples/bluetooth/heartlistener/heartrate.cpp
+++ b/examples/bluetooth/heartlistener/heartrate.cpp
@@ -152,15 +152,7 @@ void HeartRate::connectToService(const QString &address)
}
//! [Connect signals]
-#ifdef Q_OS_MAC
- // with CoreBluetooth controller requires QBluetoothDeviceInfo to connect:
- m_control = new QLowEnergyController(m_currentDevice.getDevice(),
- this);
-
-#else
- m_control = new QLowEnergyController(m_currentDevice.getDevice().address(),
- this);
-#endif
+ m_control = new QLowEnergyController(m_currentDevice.getDevice(), this);
connect(m_control, SIGNAL(serviceDiscovered(QBluetoothUuid)),
this, SLOT(serviceDiscovered(QBluetoothUuid)));
connect(m_control, SIGNAL(discoveryFinished()),
diff --git a/examples/bluetooth/lowenergyscanner/device.cpp b/examples/bluetooth/lowenergyscanner/device.cpp
index a95bc48b..5ef2cf76 100644
--- a/examples/bluetooth/lowenergyscanner/device.cpp
+++ b/examples/bluetooth/lowenergyscanner/device.cpp
@@ -158,12 +158,7 @@ void Device::scanServices(const QString &address)
setUpdate("Back\n(Connecting to device...)");
-#ifdef Q_OS_MAC
if (controller && m_previousAddress != currentDevice.getAddress()) {
- m_previousAddress = currentDevice.getAddress();
-#else
- if (controller && controller->remoteAddress() != currentDevice.getDevice().address()) {
-#endif
controller->disconnectFromDevice();
delete controller;
controller = 0;
@@ -172,11 +167,7 @@ void Device::scanServices(const QString &address)
//! [les-controller-1]
if (!controller) {
// Connecting signals and slots for connecting to LE services.
-#ifdef Q_OS_MAC
controller = new QLowEnergyController(currentDevice.getDevice());
-#else
- controller = new QLowEnergyController(currentDevice.getDevice().address());
-#endif
connect(controller, SIGNAL(connected()),
this, SLOT(deviceConnected()));
connect(controller, SIGNAL(error(QLowEnergyController::Error)),
@@ -195,6 +186,8 @@ void Device::scanServices(const QString &address)
controller->setRemoteAddressType(QLowEnergyController::PublicAddress);
controller->connectToDevice();
//! [les-controller-1]
+
+ m_previousAddress = currentDevice.getAddress();
}
void Device::addLowEnergyService(const QBluetoothUuid &serviceUuid)
diff --git a/src/bluetooth/doc/snippets/doc_src_qtbluetooth.cpp b/src/bluetooth/doc/snippets/doc_src_qtbluetooth.cpp
index 0c017e45..1eec9206 100644
--- a/src/bluetooth/doc/snippets/doc_src_qtbluetooth.cpp
+++ b/src/bluetooth/doc/snippets/doc_src_qtbluetooth.cpp
@@ -190,7 +190,7 @@ void MyClass::characteristicChanged(const QLowEnergyCharacteristic &, const QByt
void MyClass::btleSharedData()
{
- QBluetoothAddress remoteDevice;
+ QBluetoothDeviceInfo remoteDevice;
//! [data_share_qlowenergyservice]
QLowEnergyService *first, *second;
@@ -213,7 +213,7 @@ void MyClass::btleSharedData()
void MyClass::enableCharNotifications()
{
- QBluetoothAddress remoteDevice;
+ QBluetoothDeviceInfo remoteDevice;
QLowEnergyService *service;
QLowEnergyController *control = new QLowEnergyController(remoteDevice, this);
control->connectToDevice();
diff --git a/src/bluetooth/qlowenergycontroller.cpp b/src/bluetooth/qlowenergycontroller.cpp
index 0953ad5d..ee8ff180 100644
--- a/src/bluetooth/qlowenergycontroller.cpp
+++ b/src/bluetooth/qlowenergycontroller.cpp
@@ -385,6 +385,8 @@ quint16 QLowEnergyControllerPrivate::updateValueOfDescriptor(
The controller uses the local default Bluetooth adapter for
the connection management.
+
+ \obsolete
*/
QLowEnergyController::QLowEnergyController(
const QBluetoothAddress &remoteDevice,
@@ -435,6 +437,8 @@ QLowEnergyController::QLowEnergyController(
\a localDevice specifies a local device that is not a local Bluetooth
adapter, \l error() is set to \l InvalidBluetoothAdapterError once
\l connectToDevice() is called.
+
+ \obsolete
*/
QLowEnergyController::QLowEnergyController(
const QBluetoothAddress &remoteDevice,
diff --git a/src/bluetooth/qlowenergycontroller.h b/src/bluetooth/qlowenergycontroller.h
index f3a6603e..c5a4acd3 100644
--- a/src/bluetooth/qlowenergycontroller.h
+++ b/src/bluetooth/qlowenergycontroller.h
@@ -71,12 +71,12 @@ public:
};
explicit QLowEnergyController(const QBluetoothAddress &remoteDevice,
- QObject *parent = 0);
+ QObject *parent = 0); // TODO Qt 6 remove ctor
explicit QLowEnergyController(const QBluetoothDeviceInfo &remoteDevice,
QObject *parent = 0);
explicit QLowEnergyController(const QBluetoothAddress &remoteDevice,
const QBluetoothAddress &localDevice,
- QObject *parent = 0);
+ QObject *parent = 0); // TODO Qt 6 remove ctor
~QLowEnergyController();
QBluetoothAddress localAddress() const;
diff --git a/tests/auto/qlowenergycharacteristic/tst_qlowenergycharacteristic.cpp b/tests/auto/qlowenergycharacteristic/tst_qlowenergycharacteristic.cpp
index ffed9f6f..de77046e 100644
--- a/tests/auto/qlowenergycharacteristic/tst_qlowenergycharacteristic.cpp
+++ b/tests/auto/qlowenergycharacteristic/tst_qlowenergycharacteristic.cpp
@@ -75,7 +75,7 @@ private slots:
void tst_assignCompare();
private:
- QSet<QString> remoteLeDevices;
+ QList<QBluetoothDeviceInfo> remoteLeDevices;
QLowEnergyController *globalControl;
QLowEnergyService *globalService;
};
@@ -121,9 +121,10 @@ void tst_QLowEnergyCharacteristic::initTestCase()
// find first service with descriptor
QLowEnergyController *controller = 0;
- foreach (const QString &remoteDevice, remoteLeDevices.toList()) {
- controller = new QLowEnergyController(QBluetoothAddress(remoteDevice), this);
- qDebug() << "Connecting to" << remoteDevice;
+ foreach (const QBluetoothDeviceInfo &remoteDevice, remoteLeDevices) {
+ controller = new QLowEnergyController(remoteDevice, this);
+ qDebug() << "Connecting to" << remoteDevice.name()
+ << remoteDevice.address() << remoteDevice.deviceUuid();
controller->connectToDevice();
QTRY_IMPL(controller->state() != QLowEnergyController::ConnectingState,
20000);
@@ -158,7 +159,7 @@ void tst_QLowEnergyCharacteristic::initTestCase()
if (!ch.descriptors().isEmpty()) {
globalService = leService;
globalControl = controller;
- qWarning() << "Found service with descriptor" << remoteDevice
+ qWarning() << "Found service with descriptor" << remoteDevice.address()
<< globalService->serviceName() << globalService->serviceUuid();
break;
}
@@ -191,7 +192,7 @@ void tst_QLowEnergyCharacteristic::cleanupTestCase()
void tst_QLowEnergyCharacteristic::deviceDiscovered(const QBluetoothDeviceInfo &info)
{
if (info.coreConfigurations() & QBluetoothDeviceInfo::LowEnergyCoreConfiguration)
- remoteLeDevices.insert(info.address().toString());
+ remoteLeDevices.append(info);
}
void tst_QLowEnergyCharacteristic::tst_constructionDefault()
diff --git a/tests/auto/qlowenergycontroller/tst_qlowenergycontroller.cpp b/tests/auto/qlowenergycontroller/tst_qlowenergycontroller.cpp
index 5faf5fee..50ecc099 100644
--- a/tests/auto/qlowenergycontroller/tst_qlowenergycontroller.cpp
+++ b/tests/auto/qlowenergycontroller/tst_qlowenergycontroller.cpp
@@ -156,8 +156,8 @@ void tst_QLowEnergyController::initTestCase()
// On OS X/iOS the only way to find the device we are
// interested in - is to use device's name.
if (info.name().contains("Sensor") && info.name().contains("Tag")) {
- remoteDeviceInfo = info;
#endif
+ remoteDeviceInfo = info;
deviceFound = true;
break;
}
@@ -249,31 +249,23 @@ void tst_QLowEnergyController::tst_connect()
{
QList<QBluetoothHostInfo> localAdapters = QBluetoothLocalDevice::allDevices();
-#ifndef Q_OS_MAC
- if (localAdapters.isEmpty() || remoteDevice.isNull())
-#elif defined(Q_OS_OSX)
- if (localAdapters.isEmpty() || remoteDeviceInfo.deviceUuid().isNull())
-#elif defined (Q_OS_IOS)
- if (remoteDeviceInfo.deviceUuid().isNull())
+#ifdef Q_OS_IOS
+ if (remoteDeviceInfo.isValid())
+#else
+ if (localAdapters.isEmpty() || !remoteDeviceInfo.isValid())
#endif
QSKIP("No local Bluetooth or remote BTLE device found. Skipping test.");
-#ifndef Q_OS_IOS
- const QBluetoothAddress localAdapter = localAdapters.at(0).address();
-#endif
-
-#ifndef Q_OS_MAC
- QLowEnergyController control(remoteDevice);
-#else
- // Create a low energy controller using Apple's
- // uuid (NSUUID).
QLowEnergyController control(remoteDeviceInfo);
-#endif
-
QSignalSpy connectedSpy(&control, SIGNAL(connected()));
QSignalSpy disconnectedSpy(&control, SIGNAL(disconnected()));
+ if (remoteDeviceInfo.name().isEmpty())
+ QVERIFY(control.remoteName().isEmpty());
+ else
+ QCOMPARE(control.remoteName(), remoteDeviceInfo.name());
#ifndef Q_OS_IOS
+ const QBluetoothAddress localAdapter = localAdapters.at(0).address();
QCOMPARE(control.localAddress(), localAdapter);
QVERIFY(!control.localAddress().isNull());
#endif
@@ -417,16 +409,14 @@ void tst_QLowEnergyController::tst_concurrentDiscovery()
{
#ifndef Q_OS_MAC
QList<QBluetoothHostInfo> localAdapters = QBluetoothLocalDevice::allDevices();
- if (localAdapters.isEmpty() || remoteDevice.isNull())
- QSKIP("No local Bluetooth or remote BTLE device found. Skipping test.");
+ if (localAdapters.isEmpty())
+ QSKIP("No local Bluetooth device found. Skipping test.");
+#endif
- // quick setup - more elaborate test is done by connectNew()
- QLowEnergyController control(remoteDevice);
-#else
- if (remoteDeviceInfo.deviceUuid().isNull())
- QSKIP("No local Bluetooth or remote BTLE device found. Skipping test.");
+ if (!remoteDeviceInfo.isValid())
+ QSKIP("No remote BTLE device found. Skipping test.");
QLowEnergyController control(remoteDeviceInfo);
-#endif
+
QCOMPARE(control.state(), QLowEnergyController::UnconnectedState);
QCOMPARE(control.error(), QLowEnergyController::NoError);
@@ -1659,16 +1649,13 @@ void tst_QLowEnergyController::tst_writeCharacteristic()
{
#ifndef Q_OS_MAC
QList<QBluetoothHostInfo> localAdapters = QBluetoothLocalDevice::allDevices();
- if (localAdapters.isEmpty() || remoteDevice.isNull())
- QSKIP("No local Bluetooth or remote BTLE device found. Skipping test.");
+ if (localAdapters.isEmpty())
+ QSKIP("No local Bluetooth device found. Skipping test.");
+#endif
- // quick setup - more elaborate test is done by connect()
- QLowEnergyController control(remoteDevice);
-#else
- if (remoteDeviceInfo.deviceUuid().isNull())
- QSKIP("No local Bluetooth or remote BTLE device found. Skipping test.");
+ if (!remoteDeviceInfo.isValid())
+ QSKIP("No remote BTLE device found. Skipping test.");
QLowEnergyController control(remoteDeviceInfo);
-#endif
QCOMPARE(control.error(), QLowEnergyController::NoError);
@@ -1836,14 +1823,14 @@ void tst_QLowEnergyController::tst_readWriteDescriptor()
{
#ifndef Q_OS_MAC
QList<QBluetoothHostInfo> localAdapters = QBluetoothLocalDevice::allDevices();
- if (localAdapters.isEmpty() || remoteDevice.isNull())
- QSKIP("No local Bluetooth or remote BTLE device found. Skipping test.");
- QLowEnergyController control(remoteDevice);
-#else
- if (remoteDeviceInfo.deviceUuid().isNull())
- QSKIP("No local Bluetooth or remote BTLE device found. Skipping test.");
- QLowEnergyController control(remoteDeviceInfo);
+ if (localAdapters.isEmpty())
+ QSKIP("No local Bluetooth device found. Skipping test.");
#endif
+
+ if (!remoteDeviceInfo.isValid())
+ QSKIP("No remote BTLE device found. Skipping test.");
+ QLowEnergyController control(remoteDeviceInfo);
+
// quick setup - more elaborate test is done by connect()
control.connectToDevice();
{
@@ -2259,17 +2246,13 @@ void tst_QLowEnergyController::tst_errorCases()
{
#ifndef Q_OS_MAC
QList<QBluetoothHostInfo> localAdapters = QBluetoothLocalDevice::allDevices();
- if (localAdapters.isEmpty() || remoteDevice.isNull())
- QSKIP("No local Bluetooth or remote BTLE device found. Skipping test.");
-
- // quick setup - more elaborate test is done by connect()
- QLowEnergyController control(remoteDevice);
-#else
- if (remoteDeviceInfo.deviceUuid().isNull())
- QSKIP("No local Bluetooth or remote BTLE device found. Skipping test.");
+ if (localAdapters.isEmpty())
+ QSKIP("No local Bluetooth device found. Skipping test.");
+#endif
+ if (!remoteDeviceInfo.isValid())
+ QSKIP("No remote BTLE device found. Skipping test.");
QLowEnergyController control(remoteDeviceInfo);
-#endif
QCOMPARE(control.error(), QLowEnergyController::NoError);
control.connectToDevice();
@@ -2485,17 +2468,14 @@ void tst_QLowEnergyController::tst_writeCharacteristicNoResponse()
{
#ifndef Q_OS_MAC
QList<QBluetoothHostInfo> localAdapters = QBluetoothLocalDevice::allDevices();
- if (localAdapters.isEmpty() || remoteDevice.isNull())
- QSKIP("No local Bluetooth or remote BTLE device found. Skipping test.");
-
- // quick setup - more elaborate test is done by connect()
- QLowEnergyController control(remoteDevice);
-#else
- if (remoteDeviceInfo.deviceUuid().isNull())
- QSKIP("No local Bluetooth or remote BTLE device found. Skipping test.");
+ if (localAdapters.isEmpty())
+ QSKIP("No local Bluetooth device found. Skipping test.");
+#endif
+ if (!remoteDeviceInfo.isValid())
+ QSKIP("No remote BTLE device found. Skipping test.");
QLowEnergyController control(remoteDeviceInfo);
-#endif
+
QCOMPARE(control.error(), QLowEnergyController::NoError);
control.connectToDevice();