#ifndef SESSION_H #define SESSION_H #include #include #include #include "intrusivePtrBase.h" class Session : public virtual IntrusivePtrBase { public: class VariableNotFound : public std::exception { }; typedef std::map Values; Session(); virtual ~Session() = 0; virtual Glib::ustring GetValue(const Glib::ustring & name) const = 0; virtual Values GetValuesCopy() const = 0; virtual void SetValue(const Glib::ustring & name, const Glib::ustring & value) = 0; virtual void ClearValue(const Glib::ustring & name) = 0; virtual time_t ExpiryTime() const = 0; protected: virtual void ExpiryTime(time_t) = 0; friend class SessionContainer; }; typedef boost::intrusive_ptr SessionPtr; #endif