summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorNedim Hadzic <nhadzic@blackberry.com>2013-08-29 12:46:56 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-05 10:23:47 +0200
commitecb93e0f63f317039c0bba2c6c754c67b80a9d5e (patch)
treeb98cc16f8d5416e4dabc9dce101ab068136cecf5 /examples
parentfcb5d4d992b660305c764d54ee70d977c0833602 (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 'examples')
-rw-r--r--examples/bluetooth/btchat/remoteselector.cpp20
-rw-r--r--examples/bluetooth/btfiletransfer/remoteselector.cpp16
-rw-r--r--examples/bluetooth/btscanner/device.cpp14
-rw-r--r--examples/bluetooth/btscanner/service.cpp21
-rw-r--r--examples/bluetooth/bttennis/tennis.cpp19
5 files changed, 81 insertions, 9 deletions
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 <qbluetoothdeviceinfo.h>
#include <qbluetoothaddress.h>
+#include <qbluetoothlocaldevice.h>
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)
diff --git a/examples/bluetooth/btfiletransfer/remoteselector.cpp b/examples/bluetooth/btfiletransfer/remoteselector.cpp
index 70cde972..b148dab4 100644
--- a/examples/bluetooth/btfiletransfer/remoteselector.cpp
+++ b/examples/bluetooth/btfiletransfer/remoteselector.cpp
@@ -59,10 +59,24 @@ QT_USE_NAMESPACE_BLUETOOTH
RemoteSelector::RemoteSelector(QWidget *parent)
: QDialog(parent), ui(new Ui::RemoteSelector),
- m_discoveryAgent(new QBluetoothServiceDiscoveryAgent), m_localDevice(new QBluetoothLocalDevice), m_pindisplay(0)
+ m_localDevice(new QBluetoothLocalDevice), m_pindisplay(0)
{
ui->setupUi(this);
+ //Using default Bluetooth adapter
+ QBluetoothAddress adapterAddress = m_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()));
diff --git a/examples/bluetooth/btscanner/device.cpp b/examples/bluetooth/btscanner/device.cpp
index 1437f612..732eb371 100644
--- a/examples/bluetooth/btscanner/device.cpp
+++ b/examples/bluetooth/btscanner/device.cpp
@@ -48,12 +48,22 @@
#include <QDebug>
DeviceDiscoveryDialog::DeviceDiscoveryDialog(QWidget *parent)
-: QDialog(parent), discoveryAgent(new QBluetoothDeviceDiscoveryAgent),
- localDevice(new QBluetoothLocalDevice),
+: QDialog(parent), localDevice(new QBluetoothLocalDevice),
ui(new Ui_DeviceDiscovery)
{
ui->setupUi(this);
+ /*
+ * In case of multiple Bluetooth adapters it is possible to set adapter
+ * which will be used. Example code:
+ *
+ * QBluetoothAddress address("XX:XX:XX:XX:XX:XX");
+ * discoveryAgent = new QBluetoothDeviceDiscoveryAgent(address);
+ *
+ **/
+
+ discoveryAgent = new QBluetoothDeviceDiscoveryAgent();
+
connect(ui->inquiryType, SIGNAL(toggled(bool)), this, SLOT(setGeneralUnlimited(bool)));
connect(ui->scan, SIGNAL(clicked()), this, SLOT(startScan()));
diff --git a/examples/bluetooth/btscanner/service.cpp b/examples/bluetooth/btscanner/service.cpp
index 7718f518..10df64c5 100644
--- a/examples/bluetooth/btscanner/service.cpp
+++ b/examples/bluetooth/btscanner/service.cpp
@@ -43,15 +43,32 @@
#include <qbluetoothaddress.h>
#include <qbluetoothservicediscoveryagent.h>
#include <qbluetoothserviceinfo.h>
+#include <qbluetoothlocaldevice.h>
ServiceDiscoveryDialog::ServiceDiscoveryDialog(const QString &name,
const QBluetoothAddress &address, QWidget *parent)
-: QDialog(parent), discoveryAgent(new QBluetoothServiceDiscoveryAgent(address)),
- ui(new Ui_ServiceDiscovery)
+: QDialog(parent), ui(new Ui_ServiceDiscovery)
{
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");
+ * discoveryAgent = new QBluetoothServiceDiscoveryAgent(adapterAddress);
+ */
+
+ discoveryAgent = new QBluetoothServiceDiscoveryAgent(adapterAddress);
+
+ bool set = discoveryAgent->setRemoteAddress(address);
+
setWindowTitle(name);
connect(discoveryAgent, SIGNAL(serviceDiscovered(const QBluetoothServiceInfo&)),
diff --git a/examples/bluetooth/bttennis/tennis.cpp b/examples/bluetooth/bttennis/tennis.cpp
index bec62aa0..32c6cf44 100644
--- a/examples/bluetooth/bttennis/tennis.cpp
+++ b/examples/bluetooth/bttennis/tennis.cpp
@@ -66,8 +66,8 @@
//#include <qllcpsocket.h>
Tennis::Tennis(QWidget *parent)
-: QDialog(parent), ui(new Ui_Tennis), board(new Board), controller(new Controller), socket(0),
- m_discoveryAgent(new QBluetoothServiceDiscoveryAgent)//, m_handover(0)
+: QDialog(parent), ui(new Ui_Tennis), board(new Board), controller(new Controller), socket(0)
+ //, m_handover(0)
{
// start Bluetooth if not started
QBluetoothLocalDevice *device = new QBluetoothLocalDevice();
@@ -75,6 +75,21 @@ Tennis::Tennis(QWidget *parent)
delete device;
device = 0;
+ //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, this);
+
//! [Construct UI]
ui->setupUi(this);