summaryrefslogtreecommitdiffstats
path: root/examples/bluetooth/lowenergyscanner/device.cpp
diff options
context:
space:
mode:
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();
+}