Go to the documentation of this file.00001
00006 #ifndef HTTPCONNECTIONHANDLER_H
00007 #define HTTPCONNECTIONHANDLER_H
00008
00009 #include <QTcpSocket>
00010 #include <QSettings>
00011 #include <QTimer>
00012 #include <QThread>
00013 #include "httprequest.h"
00014 #include "httprequesthandler.h"
00015
00032 class HttpConnectionHandler : public QThread {
00033 Q_OBJECT
00034 Q_DISABLE_COPY(HttpConnectionHandler)
00035 public:
00036
00042 HttpConnectionHandler(QSettings* settings, HttpRequestHandler* requestHandler);
00043
00045 virtual ~HttpConnectionHandler();
00046
00048 bool isBusy();
00049
00051 void setBusy();
00052
00054 bool busy;
00055
00056 private:
00057
00059 QSettings* settings;
00060
00062 QTcpSocket socket;
00063
00065 QTimer readTimer;
00066
00068 HttpRequest* currentRequest;
00069
00071 HttpRequestHandler* requestHandler;
00072
00074 void run();
00075
00076 public slots:
00077
00082 void handleConnection(int socketDescriptor);
00083
00084 private slots:
00085
00087 void readTimeout();
00088
00090 void read();
00091
00093 void disconnected();
00094
00095 };
00096
00097 #endif // HTTPCONNECTIONHANDLER_H