diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2014-11-14 20:02:16 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2014-12-04 16:10:46 +0100 |
commit | 02b415fe5d538645e95896eb70c9d38628388841 (patch) | |
tree | 25d3fb823590559604fa2d3750bae7846299dac7 /src/bluetooth/qbluetoothdevicediscoveryagent_p.h | |
parent | 3fa9606bc804f1bb81b45d04142dc2d9db6717bd (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.h | 23 |
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; |