summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/qbluetoothsocket_winrt.cpp
diff options
context:
space:
mode:
authorOliver Wolff <oliver.wolff@qt.io>2017-01-30 12:26:06 +0100
committerOliver Wolff <oliver.wolff@qt.io>2017-01-31 08:43:34 +0000
commitc9218dbb84581c0e2f2ab6a7a858f64c70e8c58a (patch)
tree57a28e43579bb8e07a465eb1aaff02d95359368f /src/bluetooth/qbluetoothsocket_winrt.cpp
parent4abc1ebedc13b7ec9a3ea8537dc08d0268c0022b (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.cpp21
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