From ba492fb83c258bc60ca68120ce964a95b41133b5 Mon Sep 17 00:00:00 2001 From: Justin Dickow Date: Tue, 18 Mar 2014 13:46:46 -0400 Subject: initial commit for API 3.0 (replaced all) --- .../Work/fordsdlcore/QtWebsocket/QWsServer.h | 87 ++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 SDL_Core/src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsServer.h (limited to 'SDL_Core/src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsServer.h') diff --git a/SDL_Core/src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsServer.h b/SDL_Core/src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsServer.h new file mode 100644 index 000000000..c526c747a --- /dev/null +++ b/SDL_Core/src/components/qt_hmi/References/Work/fordsdlcore/QtWebsocket/QWsServer.h @@ -0,0 +1,87 @@ +#ifndef QWSSERVER_H +#define QWSSERVER_H + +#include +#include +#include +#include +#include +#include +#include + +#include "QWsSocket.h" + +class QWsServer : public QObject +{ + Q_OBJECT + +public: + // ctor + QWsServer(QObject * parent = 0); + // dtor + virtual ~QWsServer(); + + // public functions + void close(); + QString errorString(); + bool hasPendingConnections(); + bool isListening(); + bool listen(const QHostAddress & address = QHostAddress::Any, quint16 port = 0); + int maxPendingConnections(); + virtual QWsSocket * nextPendingConnection(); + QNetworkProxy proxy(); + QHostAddress serverAddress(); + QAbstractSocket::SocketError serverError(); + quint16 serverPort(); + void setMaxPendingConnections( int numConnections ); + void setProxy( const QNetworkProxy & networkProxy ); + bool setSocketDescriptor( int socketDescriptor ); + int socketDescriptor(); + bool waitForNewConnection( int msec = 0, bool * timedOut = 0 ); + +signals: + void newConnection(); + +protected: + // protected functions + void addPendingConnection( QWsSocket * socket ); + virtual void incomingConnection( int socketDescriptor ); + +private slots: + // private slots + void newTcpConnection(); + void closeTcpConnection(); + void dataReceived(); + +private: + // private attributes + QTcpServer * tcpServer; + QQueue pendingConnections; + QMap headerBuffer; + +public: + // public static functions + static QByteArray serializeInt( quint32 number, quint8 nbBytes = 4 ); + static QString computeAcceptV0( QString key1, QString key2, QString thirdPart ); + static QString computeAcceptV4( QString key ); + static QString generateNonce(); + static QString composeOpeningHandshakeResponseV0( QString accept, QString origin, QString hostAddress, QString hostPort, QString resourceName, QString protocol = "" ); + static QString composeOpeningHandshakeResponseV4( QString accept, QString nonce, QString protocol = "", QString extensions = "" ); + static QString composeOpeningHandshakeResponseV6( QString accept, QString protocol = "", QString extensions = "" ); + static QString composeBadRequestResponse( QList versions = QList() ); + + // public static vars + static const QString regExpResourceNameStr; + static const QString regExpHostStr; + static const QString regExpKeyStr; + static const QString regExpKey1Str; + static const QString regExpKey2Str; + static const QString regExpKey3Str; + static const QString regExpVersionStr; + static const QString regExpOriginStr; + static const QString regExpOrigin2Str; + static const QString regExpProtocolStr; + static const QString regExpExtensionsStr; +}; + +#endif // QWSSERVER_H -- cgit v1.2.1