• Main Page
  • Classes
  • Files
  • File List
  • File Members

lib/bfHttpServer/src/httpsessionstore.h

Go to the documentation of this file.
00001 
00006 #ifndef HTTPSESSIONSTORE_H
00007 #define HTTPSESSIONSTORE_H
00008 
00009 #include <QObject>
00010 #include <QMap>
00011 #include <QTimer>
00012 #include <QMutex>
00013 #include "httpsession.h"
00014 #include "httpresponse.h"
00015 #include "httprequest.h"
00016 
00032 class HttpSessionStore : public QObject {
00033     Q_OBJECT
00034     Q_DISABLE_COPY(HttpSessionStore);
00035 public:
00036 
00038     HttpSessionStore(QSettings* settings, QObject* parent);
00039 
00041     virtual ~HttpSessionStore();
00042 
00052     QByteArray getSessionId(HttpRequest& request, HttpResponse& response);
00053 
00064     HttpSession getSession(HttpRequest& request, HttpResponse& response, bool allowCreate=true);
00065 
00073     HttpSession getSession(const QByteArray id);
00074 
00076     void removeSession(HttpSession session);
00077 
00078 private:
00079 
00081     QSettings* settings;
00082 
00084     QMap<QByteArray,HttpSession> sessions;
00085 
00087     QTimer cleanupTimer;
00088 
00090     QByteArray cookieName;
00091 
00093     int expirationTime;
00094 
00096     QMutex mutex;
00097 
00098 private slots:
00099 
00101     void timerEvent();
00102 };
00103 
00104 #endif // HTTPSESSIONSTORE_H

Generated on Mon Dec 26 2011 12:09:22 for QtWebApp by  doxygen 1.7.1