diff options
author | Liang Qi <liang.qi@qt.io> | 2017-05-29 10:06:10 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-05-29 10:54:41 +0200 |
commit | 6a772fd201ac738dc86e71bd82e98f65158e6335 (patch) | |
tree | 674007720f41d27b251bbcffd7a368a93f88eb96 /src/network/socket/qnativesocketengine_winrt_p.h | |
parent | 40206a9f6d7635bb19305d1c8d74908808e3529e (diff) | |
parent | 4c346b6e2bfab976bc9b16275b8382aee38aefa4 (diff) |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
.qmake.conf
mkspecs/common/msvc-desktop.conf
mkspecs/win32-g++/qmake.conf
mkspecs/win32-icc/qmake.conf
src/platformsupport/fontdatabases/mac/coretext.pri
src/plugins/platforms/cocoa/qcocoawindow.h
src/plugins/platforms/cocoa/qcocoawindow.mm
Change-Id: I74a6f7705c9547ed8bbac7260eb4645543e32655
Diffstat (limited to 'src/network/socket/qnativesocketengine_winrt_p.h')
-rw-r--r-- | src/network/socket/qnativesocketengine_winrt_p.h | 71 |
1 files changed, 37 insertions, 34 deletions
diff --git a/src/network/socket/qnativesocketengine_winrt_p.h b/src/network/socket/qnativesocketengine_winrt_p.h index 9758310902..6528c6d627 100644 --- a/src/network/socket/qnativesocketengine_winrt_p.h +++ b/src/network/socket/qnativesocketengine_winrt_p.h @@ -63,6 +63,39 @@ QT_BEGIN_NAMESPACE +namespace WinRTSocketEngine { + enum ErrorString { + NonBlockingInitFailedErrorString, + BroadcastingInitFailedErrorString, + NoIpV6ErrorString, + RemoteHostClosedErrorString, + TimeOutErrorString, + ResourceErrorString, + OperationUnsupportedErrorString, + ProtocolUnsupportedErrorString, + InvalidSocketErrorString, + HostUnreachableErrorString, + NetworkUnreachableErrorString, + AccessErrorString, + ConnectionTimeOutErrorString, + ConnectionRefusedErrorString, + AddressInuseErrorString, + AddressNotAvailableErrorString, + AddressProtectedErrorString, + DatagramTooLargeErrorString, + SendDatagramErrorString, + ReceiveDatagramErrorString, + WriteErrorString, + ReadErrorString, + PortInuseErrorString, + NotSocketErrorString, + InvalidProxyTypeString, + TemporaryErrorString, + + UnknownSocketErrorString = -1 + }; +} + class QNativeSocketEnginePrivate; class SocketEngineWorker; @@ -143,6 +176,8 @@ signals: private slots: void establishRead(); + void handleConnectOpFinished(bool success, QAbstractSocket::SocketError error, + WinRTSocketEngine::ErrorString errorString); void handleNewDatagrams(const QList<WinRtDatagram> &datagram); void handleNewData(const QVector<QByteArray> &data); void handleTcpError(QAbstractSocket::SocketError error); @@ -168,38 +203,7 @@ public: bool notifyOnRead, notifyOnWrite, notifyOnException; QAtomicInt closingDown; - enum ErrorString { - NonBlockingInitFailedErrorString, - BroadcastingInitFailedErrorString, - NoIpV6ErrorString, - RemoteHostClosedErrorString, - TimeOutErrorString, - ResourceErrorString, - OperationUnsupportedErrorString, - ProtocolUnsupportedErrorString, - InvalidSocketErrorString, - HostUnreachableErrorString, - NetworkUnreachableErrorString, - AccessErrorString, - ConnectionTimeOutErrorString, - ConnectionRefusedErrorString, - AddressInuseErrorString, - AddressNotAvailableErrorString, - AddressProtectedErrorString, - DatagramTooLargeErrorString, - SendDatagramErrorString, - ReceiveDatagramErrorString, - WriteErrorString, - ReadErrorString, - PortInuseErrorString, - NotSocketErrorString, - InvalidProxyTypeString, - TemporaryErrorString, - - UnknownSocketErrorString = -1 - }; - - void setError(QAbstractSocket::SocketError error, ErrorString errorString) const; + void setError(QAbstractSocket::SocketError error, WinRTSocketEngine::ErrorString errorString) const; // native functions int option(QNativeSocketEngine::SocketOption option) const; @@ -216,7 +220,6 @@ private: inline ABI::Windows::Networking::Sockets::IDatagramSocket *udpSocket() const { return reinterpret_cast<ABI::Windows::Networking::Sockets::IDatagramSocket *>(socketDescriptor); } Microsoft::WRL::ComPtr<ABI::Windows::Networking::Sockets::IStreamSocketListener> tcpListener; - Microsoft::WRL::ComPtr<ABI::Windows::Foundation::IAsyncAction> connectOp; // In case of TCP readMutex protects readBytes and bytesAvailable. In case of UDP it is // pendingDatagrams. They are written inside native callbacks (handleReadyRead and @@ -242,11 +245,11 @@ private: ABI::Windows::Networking::Sockets::IDatagramSocketMessageReceivedEventArgs *args); HRESULT handleClientConnection(ABI::Windows::Networking::Sockets::IStreamSocketListener *tcpListener, ABI::Windows::Networking::Sockets::IStreamSocketListenerConnectionReceivedEventArgs *args); - HRESULT handleConnectOpFinished(ABI::Windows::Foundation::IAsyncAction *, ABI::Windows::Foundation::AsyncStatus); }; QT_END_NAMESPACE Q_DECLARE_METATYPE(WinRtDatagram) +Q_DECLARE_METATYPE(WinRTSocketEngine::ErrorString) #endif // QNATIVESOCKETENGINE_WINRT_P_H |