diff options
author | Alex Blasche <alexander.blasche@digia.com> | 2014-02-10 15:37:17 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-13 09:47:27 +0100 |
commit | 173d16efb54ccc152f19afb9b1c2a87915fb414b (patch) | |
tree | f07ce85ba2cb973e3c08f3ed84252d92ee1c16de /src/bluetooth/qbluetoothservicediscoveryagent_p.h | |
parent | dd75b1f776695006ca96fd43f995c3ba0549b968 (diff) |
Port QtBluetooth to Android
This is a feature merge to dev targeting Qt 5.3.
Known issues:
-QTBUG-36754: QBluetoothServer::close() crashes
-QTBUG-36763: QBluetothTransferManager port to Android not possible
-QTBUG-36764: Improve QBluetoothLocalDevice::connectedDevices()
-QTBUG-36810: Remove direct use of Android action strings
The above issues and some other minor TODO's will be addressed
until final release time.
Task-number: QTBUG-33792
[ChangeLog][QtBluetooth][Android] QtBluetooth has been ported to
Android.
Change-Id: I31ba83e3b7d6aa68e7258b7e43235de7d1a6e68a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Diffstat (limited to 'src/bluetooth/qbluetoothservicediscoveryagent_p.h')
-rw-r--r-- | src/bluetooth/qbluetoothservicediscoveryagent_p.h | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/bluetooth/qbluetoothservicediscoveryagent_p.h b/src/bluetooth/qbluetoothservicediscoveryagent_p.h index 0691b490..bfd6d954 100644 --- a/src/bluetooth/qbluetoothservicediscoveryagent_p.h +++ b/src/bluetooth/qbluetoothservicediscoveryagent_p.h @@ -70,6 +70,12 @@ QT_END_NAMESPACE QT_BEGIN_NAMESPACE class QBluetoothDeviceDiscoveryAgent; +#ifdef QT_ANDROID_BLUETOOTH +class ServiceDiscoveryBroadcastReceiver; +class LocalDeviceBroadcastReceiver; +#include <QtAndroidExtras/QAndroidJniObject> +#include <QtBluetooth/QBluetoothLocalDevice> +#endif class QBluetoothServiceDiscoveryAgentPrivate #ifdef QT_QNX_BLUETOOTH @@ -97,7 +103,7 @@ public: void stopServiceDiscovery(); void setDiscoveryState(DiscoveryState s) { state = s; } - DiscoveryState discoveryState() { return state; } + inline DiscoveryState discoveryState() { return state; } void setDiscoveryMode(QBluetoothServiceDiscoveryAgent::DiscoveryMode m) { mode = m; } QBluetoothServiceDiscoveryAgent::DiscoveryMode DiscoveryMode() { return mode; } @@ -111,6 +117,14 @@ public: void _q_discoveredServices(QDBusPendingCallWatcher *watcher); void _q_createdDevice(QDBusPendingCallWatcher *watcher); #endif +#ifdef QT_ANDROID_BLUETOOTH + void _q_processFetchedUuids(const QBluetoothAddress &address, const QList<QBluetoothUuid> &uuids); + + void populateDiscoveredServices(const QBluetoothDeviceInfo &remoteDevice, + const QList<QBluetoothUuid> &uuids); + void _q_fetchUuidsTimeout(); + void _q_hostModeStateChanged(QBluetoothLocalDevice::HostMode state); +#endif private: void start(const QBluetoothAddress &address); @@ -143,6 +157,7 @@ public: QBluetoothAddress deviceAddress; QList<QBluetoothServiceInfo> discoveredServices; QList<QBluetoothDeviceInfo> discoveredDevices; + QBluetoothAddress m_deviceAdapterAddress; private: DiscoveryState state; @@ -158,7 +173,14 @@ private: OrgBluezManagerInterface *manager; OrgBluezAdapterInterface *adapter; OrgBluezDeviceInterface *device; - QBluetoothAddress m_deviceAdapterAddress; +#endif + +#ifdef QT_ANDROID_BLUETOOTH + ServiceDiscoveryBroadcastReceiver *receiver; + LocalDeviceBroadcastReceiver *localDeviceReceiver; + + QAndroidJniObject btAdapter; + QMap<QBluetoothAddress,QPair<QBluetoothDeviceInfo,QList<QBluetoothUuid> > > sdpCache; #endif protected: |