/* * 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. * */ #include "session.h" Session::Session() { Clear(); time = std::time(0); tm_time = *std::localtime(&time); last_time = time; tm_last_time = tm_time; } void Session::Clear() { id = 0; time = 0; puser = 0; done = Done::none; done_status = Error::ok; item.Clear(); done_timer = 0; rebus_item = 0; remember_me = false; new_session = true; dir_old.clear(); } bool Session::operator==(const Session & s) const { return id == s.id; } bool Session::operator<(const Session & s) const { return id < s.id; } bool Session::DecTimer(int & timer) { if( timer == 0 ) return false; --timer; if( timer == 0 ) return true; // we must clear our variables return false; } void Session::CheckTimers() { if( DecTimer(done_timer) ) { done = Done::none; done_status = Error::ok; } } void Session::IncrementTimersIfExist() { if( done_timer != 0 ) ++done_timer; }