39class QBluetoothSocketPrivateWinRT final:
public QBluetoothSocketBasePrivate
42 friend class QBluetoothServerPrivate;
45 QBluetoothSocketPrivateWinRT();
46 ~QBluetoothSocketPrivateWinRT() override;
48 void connectToServiceHelper(
const QBluetoothAddress &address,
50 QIODevice::OpenMode openMode) override;
52 void connectToService(
const QBluetoothServiceInfo &service,
53 QIODevice::OpenMode openMode) override;
54 void connectToService(
const QBluetoothAddress &address,
const QBluetoothUuid &uuid,
55 QIODevice::OpenMode openMode) override;
56 void connectToService(
const QBluetoothAddress &address, quint16 port,
57 QIODevice::OpenMode openMode) override;
59 bool ensureNativeSocket(QBluetoothServiceInfo::Protocol type) override;
61 QString localName()
const override;
62 QBluetoothAddress localAddress()
const override;
63 quint16 localPort()
const override;
65 QString peerName()
const override;
66 QBluetoothAddress peerAddress()
const override;
67 quint16 peerPort()
const override;
69 void abort() override;
70 void close() override;
72 qint64 writeData(
const char *data, qint64 maxSize) override;
73 qint64 readData(
char *data, qint64 maxSize) override;
75 bool setSocketDescriptor(Microsoft::WRL::ComPtr<ABI::Windows::Networking::Sockets::IStreamSocket> socket,
76 QBluetoothServiceInfo::Protocol socketType,
77 QBluetoothSocket::SocketState socketState = QBluetoothSocket::SocketState::ConnectedState,
78 QBluetoothSocket::OpenMode openMode = QBluetoothSocket::ReadWrite) override;
80 bool setSocketDescriptor(
int socketDescriptor, QBluetoothServiceInfo::Protocol socketType,
81 QBluetoothSocket::SocketState socketState = QBluetoothSocket::SocketState::ConnectedState,
82 QBluetoothSocket::OpenMode openMode = QBluetoothSocket::ReadWrite) override;
84 qint64 bytesAvailable()
const override;
85 bool canReadLine()
const override;
86 qint64 bytesToWrite()
const override;
88 SocketWorker *m_worker;
90 Microsoft::WRL::ComPtr<ABI::Windows::Networking::Sockets::IStreamSocket> m_socketObject;
91 Microsoft::WRL::ComPtr<ABI::Windows::Foundation::IAsyncAction> m_connectOp;
93 Q_INVOKABLE
void addToPendingData(
const QList<QByteArray> &data);
96 void handleNewData(
const QList<QByteArray> &data);
97 void handleError(QBluetoothSocket::SocketError error);
100 void connectToService(Microsoft::WRL::ComPtr<ABI::Windows::Networking::IHostName> hostName,
101 const QString &serviceName, QIODevice::OpenMode openMode);
102 HRESULT handleConnectOpFinished(ABI::Windows::Foundation::IAsyncAction *action,
103 ABI::Windows::Foundation::AsyncStatus status);
105 QIODevice::OpenMode requestedOpenMode = QIODevice::NotOpen;