/* * This file is a part of CMSLU -- Content Management System like Unix * and is not publicly distributed * * Copyright (c) 2008-2009, Tomasz Sowa * All rights reserved. * */ #ifndef headerfilecmslucoresession #define headerfilecmslucoresession #include #include "done.h" #include "item.h" #include "error.h" #include "user.h" #include "rebus.h" struct Session { // 0 - means that there is no session long id; // true if the session was created now bool new_session; // when this session was created // (the same values) time_t time; tm tm_time; // when this session was last used // (the same values) time_t last_time; tm tm_last_time; // 0 - means that nobody is logged User * puser; // if false the session will end when the user browser is shutdown bool remember_me; // what is done Done done; Error done_status; int done_timer; // used for many purposes, depending on 'done' Item item; // rebus - set by rebus_question(Info & i) from templates Rebus::Item * rebus_item; std::string dir_old; // ------------------- Session(); void Clear(); bool operator==(const Session & s) const; bool operator<(const Session & s) const; bool DecTimer(int & timer); void CheckTimers(); void IncrementTimersIfExist(); }; #endif