86 lines
1.1 KiB
C++
Executable File
86 lines
1.1 KiB
C++
Executable File
/*
|
|
* 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;
|
|
}
|