00001 00006 #ifndef LISTENER_H 00007 #define LISTENER_H 00008 00009 #include <QTcpServer> 00010 #include <QSettings> 00011 #include <QBasicTimer> 00012 #include "httpconnectionhandler.h" 00013 #include "httpconnectionhandlerpool.h" 00014 #include "httprequesthandler.h" 00015 00037 class HttpListener : public QTcpServer { 00038 Q_OBJECT 00039 Q_DISABLE_COPY(HttpListener) 00040 public: 00041 00048 HttpListener(QSettings* settings, HttpRequestHandler* requestHandler, QObject* parent = 0); 00049 00051 virtual ~HttpListener(); 00052 00053 protected: 00054 00056 void incomingConnection(int socketDescriptor); 00057 00058 private: 00059 00061 QSettings* settings; 00062 00064 HttpConnectionHandlerPool pool; 00065 00066 signals: 00067 00072 void handleConnection(int socketDescriptor); 00073 00074 }; 00075 00076 #endif // LISTENER_H