inlib
1.2.0
|
Public Member Functions | |
virtual void | action ()=0 |
base_timer (unsigned int a_interval) | |
virtual | ~base_timer () |
base_timer (const base_timer &a_from) | |
base_timer & | operator= (const base_timer &a_from) |
void | set_interval (unsigned int a_interval) |
unsigned int | interval () const |
void | start () |
void | stop () |
bool | active () const |
void | check_time_out () |
Protected Attributes | |
unsigned int | m_interval |
bool | m_started |
atime | m_prev |
Definition at line 11 of file base_timer.
inlib::base_timer::base_timer | ( | unsigned int | a_interval | ) | [inline] |
Definition at line 15 of file base_timer.
:m_interval(a_interval) ,m_started(false) ,m_prev(atime(0,0)) {}
virtual inlib::base_timer::~base_timer | ( | ) | [inline, virtual] |
Definition at line 20 of file base_timer.
{}
inlib::base_timer::base_timer | ( | const base_timer & | a_from | ) | [inline] |
Definition at line 22 of file base_timer.
:m_interval(a_from.m_interval) ,m_started(false) ,m_prev(atime(0,0)) {}
virtual void inlib::base_timer::action | ( | ) | [pure virtual] |
bool inlib::base_timer::active | ( | ) | const [inline] |
Definition at line 43 of file base_timer.
{return m_started;}
void inlib::base_timer::check_time_out | ( | ) | [inline] |
Definition at line 44 of file base_timer.
{ if(!m_started) return; atime elaps = atime::elapsed(m_prev); atime::num_t secs = elaps.seconds(); atime::num_t micro_secs = elaps.micro_seconds(); atime::num_t milli_secs = secs*1000+micro_secs/1000; if((unsigned int)milli_secs>m_interval) { action(); m_prev = atime::now(); } }
unsigned int inlib::base_timer::interval | ( | ) | const [inline] |
Definition at line 35 of file base_timer.
{return m_interval;}
base_timer& inlib::base_timer::operator= | ( | const base_timer & | a_from | ) | [inline] |
Definition at line 27 of file base_timer.
{ m_interval = a_from.m_interval; m_started = false; m_prev = atime(0,0); return *this; }
void inlib::base_timer::set_interval | ( | unsigned int | a_interval | ) | [inline] |
Definition at line 34 of file base_timer.
{m_interval = a_interval;}
void inlib::base_timer::start | ( | ) | [inline] |
Definition at line 36 of file base_timer.
{ m_started = true; m_prev = atime::now(); }
void inlib::base_timer::stop | ( | ) | [inline] |
Definition at line 40 of file base_timer.
{ m_started = false; }
unsigned int inlib::base_timer::m_interval [protected] |
Definition at line 56 of file base_timer.
atime inlib::base_timer::m_prev [protected] |
Definition at line 58 of file base_timer.
bool inlib::base_timer::m_started [protected] |
Definition at line 57 of file base_timer.