summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/qbluetoothsocket_osx.mm
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@qt.io>2018-07-18 11:03:53 +0200
committerAlex Blasche <alexander.blasche@qt.io>2018-07-25 11:16:09 +0000
commit28eeb7afc27e99deeb52eefe10cdd458c7621698 (patch)
tree99d69ac21efebe315149cc9501ab5ed6ec4bfca4 /src/bluetooth/qbluetoothsocket_osx.mm
parent98aa6ba02628eb29cc82361fad6d2d8b18ae0488 (diff)
Add runtime polymorphism for QBluetoothSocketPrivate
This patch introduces a generic interface towards QBluetoothSocketPrivate. Later on, the QBluetoothSocketPrivate class will be split into platform specific overloads/interfaces. Ultimately, this will be needed to support runtime selection of the QBluetootSocket d-pointer on Linux. The Linux Bluez5 implementation is significantly different from the Bluez4 (raw socket) implementation. Since recent Bluez5 releases the raw socket implementation is no longer functional and/or the user has to have root permission and enable bluetooth --compat mode. Therefore a second QBluetoothSocket for the dbus socket API is needed. QBLuetoothSocket has to choose at runtime (during its instanciation) which implementation to use. Task-number: QTBUG-68550 Change-Id: I5d0b8e24b8acd1b149b897f52f0d82eade7f3823 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Lubomir I. Ivanov <neolit123@gmail.com>
Diffstat (limited to 'src/bluetooth/qbluetoothsocket_osx.mm')
-rw-r--r--src/bluetooth/qbluetoothsocket_osx.mm8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/bluetooth/qbluetoothsocket_osx.mm b/src/bluetooth/qbluetoothsocket_osx.mm
index dec542dd..ea39bb39 100644
--- a/src/bluetooth/qbluetoothsocket_osx.mm
+++ b/src/bluetooth/qbluetoothsocket_osx.mm
@@ -41,9 +41,7 @@
// The order is important (the first header contains
// the base class for a private socket) - workaround for
// dependencies problem.
-#include "qbluetoothsocket_p.h"
-#include "qbluetoothsocket_osx_p.h"
-//
+#include "qbluetoothsocketbase_p.h"
#include "qbluetoothsocket_osx_p.h"
#include "qbluetoothlocaldevice.h"
#include "qbluetoothdeviceinfo.h"
@@ -60,14 +58,14 @@
QT_BEGIN_NAMESPACE
QBluetoothSocketPrivate::QBluetoothSocketPrivate()
- : q_ptr(nullptr),
- writeChunk(std::numeric_limits<UInt16>::max()),
+ : writeChunk(std::numeric_limits<UInt16>::max()),
openMode(QIODevice::NotOpen), // That's what is set in public class' ctors.
state(QBluetoothSocket::UnconnectedState),
socketType(QBluetoothServiceInfo::UnknownProtocol),
socketError(QBluetoothSocket::NoSocketError),
isConnecting(false)
{
+ q_ptr = nullptr;
}
QBluetoothSocketPrivate::~QBluetoothSocketPrivate()