diff options
author | Nedim Hadzic <nhadzic@blackberry.com> | 2013-08-29 12:46:56 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-05 10:23:47 +0200 |
commit | ecb93e0f63f317039c0bba2c6c754c67b80a9d5e (patch) | |
tree | b98cc16f8d5416e4dabc9dce101ab068136cecf5 /tests/auto/qbluetoothdevicediscoveryagent | |
parent | fcb5d4d992b660305c764d54ee70d977c0833602 (diff) |
Make Bluetooth adapter choosable for device and service search
In case there are more Bluetooth adapter, device and service search
might give different results.
Addition to Change-Id: Ideddb39460985c18547baec986b15e43946c85de - added option
for setting the device adapter for service search. QBluetoothLocalDevice was used
in both classes (device and service search) for passing an argument for setting
adapter. The reason for this to keep the same approach, because in
QBluetoothServiceDiscoveryAgent class there is already a constructor
with QBluetoothAddress argument.
Auto tests and examples updated.
Change-Id: Ib5d7ff23e4846d9d42dae68d8d424031748811e5
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Diffstat (limited to 'tests/auto/qbluetoothdevicediscoveryagent')
-rw-r--r-- | tests/auto/qbluetoothdevicediscoveryagent/tst_qbluetoothdevicediscoveryagent.cpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/tests/auto/qbluetoothdevicediscoveryagent/tst_qbluetoothdevicediscoveryagent.cpp b/tests/auto/qbluetoothdevicediscoveryagent/tst_qbluetoothdevicediscoveryagent.cpp index ef7cd09b..33b6b204 100644 --- a/tests/auto/qbluetoothdevicediscoveryagent/tst_qbluetoothdevicediscoveryagent.cpp +++ b/tests/auto/qbluetoothdevicediscoveryagent/tst_qbluetoothdevicediscoveryagent.cpp @@ -43,6 +43,7 @@ #include <QDebug> #include <QVariant> +#include <QList> #include <qbluetoothaddress.h> #include <qbluetoothdevicediscoveryagent.h> @@ -303,7 +304,21 @@ void tst_QBluetoothDeviceDiscoveryAgent::tst_deviceDiscovery() { QFETCH(QBluetoothDeviceDiscoveryAgent::InquiryType, inquiryType); - QBluetoothDeviceDiscoveryAgent discoveryAgent; + //Run test in case of multiple Bluetooth adapters + QBluetoothLocalDevice localDevice; + //We will use default adapter if there is no other adapter + QBluetoothAddress address = localDevice.address(); + int numberOfAdapters = (localDevice.allDevices()).size(); + QList<QBluetoothAddress> addresses; + if (numberOfAdapters > 1) { + + for (int i=0; i < numberOfAdapters; i++) { + addresses.append(((QBluetoothHostInfo)localDevice.allDevices().at(i)).address()); + } + address = (QBluetoothAddress)addresses.at(0); + } + + QBluetoothDeviceDiscoveryAgent discoveryAgent(address); QVERIFY(discoveryAgent.error() == discoveryAgent.NoError); QVERIFY(discoveryAgent.errorString().isEmpty()); QVERIFY(!discoveryAgent.isActive()); @@ -361,7 +376,7 @@ void tst_QBluetoothDeviceDiscoveryAgent::tst_deviceDiscovery() if (!remoteDevice.isNull()) QVERIFY(discoveredSpy.count() > 0); - + int counter = 0; // All returned QBluetoothDeviceInfo should be valid. while (!discoveredSpy.isEmpty()) { const QBluetoothDeviceInfo info = @@ -369,7 +384,16 @@ void tst_QBluetoothDeviceDiscoveryAgent::tst_deviceDiscovery() QVERIFY(info.isValid()); qDebug() << "Discovered device:" << info.address().toString() << info.name(); + if (numberOfAdapters > 1) { + for (int i= 1; i < numberOfAdapters; i++) { + if (info.address().toString() == addresses[i].toString()) + counter++; + } + } } + //For multiple Bluetooth adapter do the check only for GeneralUnlimitedInquiry + if (!(inquiryType == QBluetoothDeviceDiscoveryAgent::LimitedInquiry)) + QVERIFY((numberOfAdapters-1) == counter); } } |