00001
00002
00003 #ifndef QHTTPSESSION_H
00004 #define QHTTPSESSION_H
00005
00006 #include <qdatetime.h>
00007 #include <qmap.h>
00008 #include <qstringlist.h>
00009 #include <qvariant.h>
00010
00011 #include <qservletbase.h>
00012
00018 class QHttpSession : public QServletBase
00019 {
00020 public:
00021 QHttpSession();
00022 ~QHttpSession();
00023
00025 void invalidate();
00026
00028 bool isNew() const { return isnew; }
00029
00031 void setNew( bool isnew=false ) { this->isnew = isnew; }
00032
00034 QDateTime creationTime() const { return created; }
00035
00037 QString id() const { return sessid; }
00038
00043 void setLastAccessTime( const QDateTime &dt = QDateTime() );
00044
00046 QDateTime lastAccessedTime() const { return accessed; }
00047
00049 int maxInactiveInterval() const { return maxinactive; }
00050
00052 void setMaxInactiveInterval( int interval ) { maxinactive = interval; }
00053
00054
00055
00056
00057
00059 QVariant value( const QString &name ) const { return vals[name]; }
00060
00062 QStringList valueNames() const { return valnames; }
00063
00065 void setValue( const QString &name, const QVariant &value );
00066
00068 void removeValue( const QString &name ) { valnames.remove(name); vals.remove(name); }
00069
00070 private:
00071 QDateTime created;
00072 QDateTime accessed;
00073 QString sessid;
00074 int maxinactive;
00075 QStringList valnames;
00076 QMap<QString, QVariant> vals;
00077 bool isnew;
00078
00079 class QHttpSessionData *d;
00080 };
00081
00082 #endif