summaryrefslogtreecommitdiffstats
path: root/src/network/socket/qnativesocketengine_winrt_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/socket/qnativesocketengine_winrt_p.h')
-rw-r--r--src/network/socket/qnativesocketengine_winrt_p.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/network/socket/qnativesocketengine_winrt_p.h b/src/network/socket/qnativesocketengine_winrt_p.h
index ef219e61df..6bc77c1529 100644
--- a/src/network/socket/qnativesocketengine_winrt_p.h
+++ b/src/network/socket/qnativesocketengine_winrt_p.h
@@ -63,6 +63,7 @@
QT_BEGIN_NAMESPACE
class QNativeSocketEnginePrivate;
+class SocketEngineWorker;
struct WinRtDatagram {
QByteArray data;
@@ -137,11 +138,15 @@ signals:
void connectionReady();
void readReady();
void writeReady();
+ void newDatagramReceived(const WinRtDatagram &datagram);
private slots:
void establishRead();
+ void handleNewDatagrams(const QList<WinRtDatagram> &datagram);
private:
+ Q_INVOKABLE void putIntoPendingDatagramsList(const QList<WinRtDatagram> &datagrams);
+
Q_DECLARE_PRIVATE(QNativeSocketEngine)
Q_DISABLE_COPY(QNativeSocketEngine)
};
@@ -154,6 +159,7 @@ public:
~QNativeSocketEnginePrivate();
qintptr socketDescriptor;
+ SocketEngineWorker *worker;
bool notifyOnRead, notifyOnWrite, notifyOnException;
QAtomicInt closingDown;
@@ -210,6 +216,7 @@ private:
Microsoft::WRL::ComPtr<ABI::Windows::Foundation::IAsyncOperationWithProgress<ABI::Windows::Storage::Streams::IBuffer *, UINT32>> readOp;
QBuffer readBytes;
QMutex readMutex;
+ bool emitOnNewDatagram;
QList<WinRtDatagram> pendingDatagrams;
QList<ABI::Windows::Networking::Sockets::IStreamSocket *> pendingConnections;
@@ -228,4 +235,6 @@ private:
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(WinRtDatagram)
+
#endif // QNATIVESOCKETENGINE_WINRT_P_H