#ifndef QTHTTPSERVER_H #define QTHTTPSERVER_H #include #include #include class QTcpSocket; class QTcpServer; class QtHttpRequest; class QtHttpReply; class QtHttpClientWrapper; class QtHttpServer : public QObject { Q_OBJECT public: explicit QtHttpServer (QObject * parent = Q_NULLPTR); static const QString & HTTP_VERSION; const QString getServerName (void) const; public slots: void start (quint16 port = 0); void stop (void); void setServerName (const QString & serverName); signals: void started (quint16 port); void stopped (void); void error (const QString & msg); void clientConnected (const QString & guid); void clientDisconnected (const QString & guid); void requestNeedsReply (QtHttpRequest * request, QtHttpReply * reply); private slots: void onClientConnected (void); void onClientDisconnected (void); private: QString m_serverName; QTcpServer * m_sockServer; QHash m_socksClientsHash; }; #endif // QTHTTPSERVER_H