From ecb93e0f63f317039c0bba2c6c754c67b80a9d5e Mon Sep 17 00:00:00 2001 From: Nedim Hadzic Date: Thu, 29 Aug 2013 12:46:56 +0000 Subject: 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 --- examples/bluetooth/btchat/remoteselector.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'examples/bluetooth/btchat/remoteselector.cpp') diff --git a/examples/bluetooth/btchat/remoteselector.cpp b/examples/bluetooth/btchat/remoteselector.cpp index 50bebcd3..ee195413 100644 --- a/examples/bluetooth/btchat/remoteselector.cpp +++ b/examples/bluetooth/btchat/remoteselector.cpp @@ -43,15 +43,30 @@ #include #include +#include QT_USE_NAMESPACE_BLUETOOTH RemoteSelector::RemoteSelector(QWidget *parent) -: QDialog(parent), ui(new Ui::RemoteSelector), - m_discoveryAgent(new QBluetoothServiceDiscoveryAgent) +: QDialog(parent), ui(new Ui::RemoteSelector) { ui->setupUi(this); + //Using default Bluetooth adapter + QBluetoothLocalDevice localDevice; + QBluetoothAddress adapterAddress = localDevice.address(); + + /* + * In case of multiple Bluetooth adapters it is possible to + * set which adapter will be used by providing MAC Address. + * Example code: + * + * QBluetoothAddress adapterAddress("XX:XX:XX:XX:XX:XX"); + * m_discoveryAgent = new QBluetoothServiceDiscoveryAgent(adapterAddress); + */ + + m_discoveryAgent = new QBluetoothServiceDiscoveryAgent(adapterAddress); + connect(m_discoveryAgent, SIGNAL(serviceDiscovered(QBluetoothServiceInfo)), this, SLOT(serviceDiscovered(QBluetoothServiceInfo))); connect(m_discoveryAgent, SIGNAL(finished()), this, SLOT(discoveryFinished())); @@ -60,6 +75,7 @@ RemoteSelector::RemoteSelector(QWidget *parent) RemoteSelector::~RemoteSelector() { delete ui; + delete m_discoveryAgent; } void RemoteSelector::startDiscovery(const QBluetoothUuid &uuid) -- cgit v1.2.3