summaryrefslogtreecommitdiff
path: root/SDL_Core/src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsSocket.h
diff options
context:
space:
mode:
Diffstat (limited to 'SDL_Core/src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsSocket.h')
-rw-r--r--SDL_Core/src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsSocket.h170
1 files changed, 0 insertions, 170 deletions
diff --git a/SDL_Core/src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsSocket.h b/SDL_Core/src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsSocket.h
deleted file mode 100644
index 4bc095aa1..000000000
--- a/SDL_Core/src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsSocket.h
+++ /dev/null
@@ -1,170 +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