diff options
Diffstat (limited to 'src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsSocket.h')
-rw-r--r-- | src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsSocket.h | 181 |
1 files changed, 0 insertions, 181 deletions
diff --git a/src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsSocket.h b/src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsSocket.h deleted file mode 100644 index cdd19db38a..0000000000 --- a/src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsSocket.h +++ /dev/null @@ -1,181 +0,0 @@ -#ifndef QWSSOCKET_H -#define QWSSOCKET_H - -#include <QTcpSocket> -#include <QHostAddress> -#include <QTime> - -enum EWebsocketVersion { - WS_VUnknow = -1, - WS_V0 = 0, - WS_V4 = 4, - WS_V5 = 5, - WS_V6 = 6, - WS_V7 = 7, - WS_V8 = 8, - WS_V13 = 13 -}; - -class QWsSocket : public QAbstractSocket { - Q_OBJECT - - friend class QWsServer; - - public: - enum EOpcode { - OpContinue = 0x0, - OpText = 0x1, - OpBinary = 0x2, - OpReserved3 = 0x3, - OpReserved4 = 0x4, - OpReserved5 = 0x5, - OpReserved6 = 0x6, - OpReserved7 = 0x7, - OpClose = 0x8, - OpPing = 0x9, - OpPong = 0xA, - OpReservedB = 0xB, - OpReservedV = 0xC, - OpReservedD = 0xD, - OpReservedE = 0xE, - OpReservedF = 0xF - }; - enum ECloseStatusCode { - NoCloseStatusCode = 0, - CloseNormal = 1000, - CloseGoingAway = 1001, - CloseProtocolError = 1002, - CloseDataTypeNotSupported = 1003, - CloseReserved1004 = 1004, - CloseMissingStatusCode = 1005, - CloseAbnormalDisconnection = 1006, - CloseWrongDataType = 1007, - ClosePolicyViolated = 1008, - CloseTooMuchData = 1009, - CloseMissingExtension = 1010, - CloseBadOperation = 1011, - CloseTLSHandshakeFailed = 1015 - }; - - public: - // ctor - QWsSocket(QObject* parent = 0, - QTcpSocket* socket = 0, - EWebsocketVersion ws_v = WS_V13); - // dtor - virtual ~QWsSocket(); - - // Public methods - EWebsocketVersion version(); - QString resourceName(); - QString host(); - QString hostAddress(); - int hostPort(); - QString origin(); - QString protocol(); - QString extensions(); - - void setResourceName(QString rn); - void setHost(QString h); - void setHostAddress(QString ha); - void setHostPort(int hp); - void setOrigin(QString o); - void setProtocol(QString p); - void setExtensions(QString e); - - qint64 write(const QString& string); // write data as text - qint64 write(const QByteArray& byteArray); // write data as binary - - public slots: - void connectToHost(const QString& hostName, - quint16 port, - OpenMode mode = ReadWrite); - void connectToHost(const QHostAddress& address, - quint16 port, - OpenMode mode = ReadWrite); - void disconnectFromHost(); - void abort(QString reason = QString()); - void ping(); - -signals: - void frameReceived(QString frame); - void frameReceived(QByteArray frame); - void pong(quint64 elapsedTime); - - protected: - qint64 writeFrames(const QList<QByteArray>& framesList); - qint64 writeFrame(const QByteArray& byteArray); - - protected slots: - virtual void close(ECloseStatusCode closeStatusCode = NoCloseStatusCode, - QString reason = QString()); - void processDataV0(); - void processDataV4(); - void processHandshake(); - void processTcpStateChanged(QAbstractSocket::SocketState socketState); - - private: - enum EReadingState { - HeaderPending, - PayloadLengthPending, - BigPayloadLenghPending, - MaskPending, - PayloadBodyPending, - CloseDataPending - }; - - // private vars - QTcpSocket* tcpSocket; - QByteArray currentFrame; - QTime pingTimer; - - EWebsocketVersion _version; - QString _resourceName; - QString _host; - QString _hostAddress; - int _hostPort; - QString _origin; - QString _protocol; - QString _extensions; - bool serverSideSocket; - - bool closingHandshakeSent; - bool closingHandshakeReceived; - - EReadingState readingState; - EOpcode opcode; - bool isFinalFragment; - bool hasMask; - quint64 payloadLength; - QByteArray maskingKey; - ECloseStatusCode closeStatusCode; - - static const QString regExpAcceptStr; - static const QString regExpUpgradeStr; - static const QString regExpConnectionStr; - QString handshakeResponse; - QString key; - - public: - // Static functions - static QByteArray generateMaskingKey(); - static QByteArray generateMaskingKeyV4(QString key, QString nonce); - static QByteArray mask(QByteArray& data, QByteArray& maskingKey); - static QList<QByteArray> composeFrames(QByteArray byteArray, - bool asBinary = false, - int maxFrameBytes = 0); - static QByteArray composeHeader(bool end, - EOpcode opcode, - quint64 payloadLength, - QByteArray maskingKey = QByteArray()); - static QString composeOpeningHandShake(QString resourceName, - QString host, - QString origin, - QString extensions, - QString key); - - // static vars - static int maxBytesPerFrame; -}; - -#endif // QWSSOCKET_H |