summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/qbluetoothdevicediscoveryagent_p.h
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2014-11-14 20:02:16 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2014-12-04 16:10:46 +0100
commit02b415fe5d538645e95896eb70c9d38628388841 (patch)
tree25d3fb823590559604fa2d3750bae7846299dac7 /src/bluetooth/qbluetoothdevicediscoveryagent_p.h
parent3fa9606bc804f1bb81b45d04142dc2d9db6717bd (diff)
Add discovering for BLE devices on Windows
BLE devices are supported in Windows 8 and above. Windows has not public API to discovering/pairing of BLE devices. A user shall do it by means of standard "bluetooth" application which are inbox into Windows. Only after that there is an opportunity to display the discovered devices. Change-Id: Idd3d2949456a32c8c333744205755853aef80422 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'src/bluetooth/qbluetoothdevicediscoveryagent_p.h')
-rw-r--r--src/bluetooth/qbluetoothdevicediscoveryagent_p.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/bluetooth/qbluetoothdevicediscoveryagent_p.h b/src/bluetooth/qbluetoothdevicediscoveryagent_p.h
index 096f013c..cb247943 100644
--- a/src/bluetooth/qbluetoothdevicediscoveryagent_p.h
+++ b/src/bluetooth/qbluetoothdevicediscoveryagent_p.h
@@ -79,6 +79,7 @@ QT_END_NAMESPACE
#ifdef Q_OS_WIN32
#include <QtConcurrent>
#include "windows/qwinclassicbluetooth_p.h"
+#include "windows/qwinlowenergybluetooth_p.h"
#endif
QT_BEGIN_NAMESPACE
@@ -185,6 +186,7 @@ private:
#ifdef Q_OS_WIN32
private slots:
void classicDeviceDiscovered();
+ void lowEnergyDeviceDiscovered();
private:
void initialize(const QBluetoothAddress &deviceAdapter);
@@ -195,13 +197,34 @@ private:
void completeClassicDiscovery(HBLUETOOTH_DEVICE_FIND hSearch);
void acceptDiscoveredClassicDevice(const BLUETOOTH_DEVICE_INFO &device);
+ bool isLowEnergyAdapterValid(const QBluetoothAddress &deviceAdapter);
+ void startDiscoveryForLowEnergyDevices();
+ void completeLowEnergyDiscovery();
+ void acceptDiscoveredLowEnergyDevice(const WinLowEnergyBluetooth::DeviceInfo &device);
+
+ void processDuplicates(const QBluetoothDeviceInfo &foundDevice);
+
void setError(DWORD error, const QString &str = QString());
+ bool isDiscoveredSuccessfully(int systemError) const;
+
+ bool canBeCanceled() const;
+ void cancel();
+
+ bool canBePendingStarted() const;
+ void prepareToPendingStart();
+
+ void finalize();
+ void drop(int systemError);
+
QFutureWatcher<WinClassicBluetooth::RemoteDeviceDiscoveryResult> *classicDiscoveryWatcher;
+ QFutureWatcher<WinLowEnergyBluetooth::DeviceDiscoveryResult> *lowEnergyDiscoveryWatcher;
bool pendingCancel;
bool pendingStart;
bool isClassicActive;
bool isClassicValid;
+ bool isLowEnergyActive;
+ bool isLowEnergyValid;
#endif
QBluetoothDeviceDiscoveryAgent *q_ptr;