summaryrefslogtreecommitdiffstats
path: root/examples/bluetooth/lowenergyscanner/device.cpp
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@digia.com>2014-09-01 13:46:59 +0200
committerAlex Blasche <alexander.blasche@digia.com>2014-09-02 13:58:14 +0200
commit6837d143b456eb1f253b68704a5ff1b48bef4de4 (patch)
tree55d900db5b034498f9690aa508696dfc8978d736 /examples/bluetooth/lowenergyscanner/device.cpp
parentffbe7708f87aea5e7919e7ca1029bfa24ce13bcd (diff)
Add support for random vs public address selection to lowenergyscanner
Change-Id: I963f47f0089d072249b73bdfb0c715d43186b08d Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'examples/bluetooth/lowenergyscanner/device.cpp')
-rw-r--r--examples/bluetooth/lowenergyscanner/device.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/examples/bluetooth/lowenergyscanner/device.cpp b/examples/bluetooth/lowenergyscanner/device.cpp
index 9ffb4d56..215a7588 100644
--- a/examples/bluetooth/lowenergyscanner/device.cpp
+++ b/examples/bluetooth/lowenergyscanner/device.cpp
@@ -50,7 +50,7 @@
#include <QTimer>
Device::Device():
- connected(false), controller(0), m_deviceScanState(false)
+ connected(false), controller(0), m_deviceScanState(false), randomAddress(false)
{
//! [les-devicediscovery-1]
discoveryAgent = new QBluetoothDeviceDiscoveryAgent();
@@ -176,6 +176,10 @@ void Device::scanServices(const QString &address)
this, SLOT(serviceScanDone()));
}
+ if (isRandomAddress())
+ controller->setRemoteAddressType(QLowEnergyController::RandomAddress);
+ else
+ controller->setRemoteAddressType(QLowEnergyController::PublicAddress);
controller->connectToDevice();
//! [les-controller-1]
}
@@ -250,7 +254,7 @@ void Device::deviceConnected()
void Device::errorReceived(QLowEnergyController::Error /*error*/)
{
qWarning() << "Error: " << controller->errorString();
- setUpdate(controller->errorString());
+ setUpdate(QString("Back\n(%1)").arg(controller->errorString()));
}
void Device::setUpdate(QString message)
@@ -261,8 +265,7 @@ void Device::setUpdate(QString message)
void Device::disconnectFromDevice()
{
- if (connected)
- controller->disconnectFromDevice();
+ controller->disconnectFromDevice();
}
void Device::deviceDisconnected()
@@ -305,3 +308,14 @@ bool Device::state()
{
return m_deviceScanState;
}
+
+bool Device::isRandomAddress() const
+{
+ return randomAddress;
+}
+
+void Device::setRandomAddress(bool newValue)
+{
+ randomAddress = newValue;
+ emit randomAddressChanged();
+}