diff options
author | Oliver Wolff <oliver.wolff@qt.io> | 2017-01-30 12:26:06 +0100 |
---|---|---|
committer | Oliver Wolff <oliver.wolff@qt.io> | 2017-01-31 08:43:34 +0000 |
commit | c9218dbb84581c0e2f2ab6a7a858f64c70e8c58a (patch) | |
tree | 57a28e43579bb8e07a465eb1aaff02d95359368f /src/bluetooth/qbluetoothsocket_winrt.cpp | |
parent | 4abc1ebedc13b7ec9a3ea8537dc08d0268c0022b (diff) |
winrt: Add bluetooth server support
Task-numer: QTBUG-37779
Change-Id: Ieb3ed5dfea7d60b3875cbe97bb26f8060bebcc17
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Diffstat (limited to 'src/bluetooth/qbluetoothsocket_winrt.cpp')
-rw-r--r-- | src/bluetooth/qbluetoothsocket_winrt.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/bluetooth/qbluetoothsocket_winrt.cpp b/src/bluetooth/qbluetoothsocket_winrt.cpp index 98847b18..855af16d 100644 --- a/src/bluetooth/qbluetoothsocket_winrt.cpp +++ b/src/bluetooth/qbluetoothsocket_winrt.cpp @@ -533,11 +533,22 @@ void QBluetoothSocketPrivate::close() bool QBluetoothSocketPrivate::setSocketDescriptor(int socketDescriptor, QBluetoothServiceInfo::Protocol socketType, QBluetoothSocket::SocketState socketState, QBluetoothSocket::OpenMode openMode) { - Q_UNUSED(socketDescriptor); - Q_UNUSED(socketType) - Q_UNUSED(socketState); - Q_UNUSED(openMode); - return false; + Q_Q(QBluetoothSocket); + if (socketType != QBluetoothServiceInfo::RfcommProtocol) + return false; + + m_socketObject = nullptr; + socket = -1; + + m_socketObject = reinterpret_cast<IStreamSocket *>(qintptr(socketDescriptor)); + if (!m_socketObject) + return false; + socket = qintptr(m_socketObject.Get()); + m_worker->setSocket(m_socketObject); + if (socketState == QBluetoothSocket::ConnectedState) + m_worker->startReading(); + q->setOpenMode(openMode); + return true; } qint64 QBluetoothSocketPrivate::bytesAvailable() const |