diff options
author | Alex Blasche <alexander.blasche@qt.io> | 2018-07-18 11:03:53 +0200 |
---|---|---|
committer | Alex Blasche <alexander.blasche@qt.io> | 2018-07-25 11:16:09 +0000 |
commit | 28eeb7afc27e99deeb52eefe10cdd458c7621698 (patch) | |
tree | 99d69ac21efebe315149cc9501ab5ed6ec4bfca4 /src/bluetooth/qbluetoothsocket_osx.mm | |
parent | 98aa6ba02628eb29cc82361fad6d2d8b18ae0488 (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.mm | 8 |
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() |