From 173d16efb54ccc152f19afb9b1c2a87915fb414b Mon Sep 17 00:00:00 2001 From: Alex Blasche Date: Mon, 10 Feb 2014 15:37:17 +0100 Subject: 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 Reviewed-by: Alex Blasche --- src/bluetooth/qbluetoothservicediscoveryagent_p.h | 26 +++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'src/bluetooth/qbluetoothservicediscoveryagent_p.h') 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 +#include +#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 &uuids); + + void populateDiscoveredServices(const QBluetoothDeviceInfo &remoteDevice, + const QList &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 discoveredServices; QList 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 > > sdpCache; #endif protected: -- cgit v1.2.3