A singleton which maintains a list of all Timer objects, and interfaces to the event loop on their behalf. More...
#include <gtimerlist.h>
Classes | |
| class | NoThrow |
| Overload discriminator class for TimerList. More... | |
Public Member Functions | |
| TimerList () | |
| Default constructor. More... | |
| ~TimerList () | |
| Destructor. More... | |
| void | add (AbstractTimer &) |
| Adds a timer. Used by Timer::Timer(). More... | |
| void | remove (AbstractTimer &) |
| Removes a timer from the list. More... | |
| void | update (G::DateTime::EpochTime previous_soonest) |
| Called when one of the list's timers has changed. More... | |
| G::DateTime::EpochTime | soonest () const |
| Returns the time of the first timer to expire, or zero if none. More... | |
| unsigned int | interval (bool &infinite) const |
| Returns the interval to the next timer expiry. More... | |
| void | doTimeouts () |
| Triggers the timeout callbacks of any expired timers. More... | |
Static Public Member Functions | |
| static TimerList * | instance (const NoThrow &) |
| Singleton access. Returns NULL if none. More... | |
| static TimerList & | instance () |
| Singleton access. Throws an exception if none. More... | |
A singleton which maintains a list of all Timer objects, and interfaces to the event loop on their behalf.
Definition at line 42 of file gtimerlist.h.
| GNet::TimerList::TimerList | ( | ) |
Default constructor.
Definition at line 29 of file gtimerlist.cpp.
| GNet::TimerList::~TimerList | ( | ) |
Destructor.
Any expired timers have their timeouts called.
Definition at line 40 of file gtimerlist.cpp.
| void GNet::TimerList::add | ( | AbstractTimer & | t | ) |
Adds a timer. Used by Timer::Timer().
Definition at line 57 of file gtimerlist.cpp.
Referenced by GNet::AbstractTimer::AbstractTimer().
| void GNet::TimerList::doTimeouts | ( | ) |
Triggers the timeout callbacks of any expired timers.
Called by the event loop (GNet::EventLoop).
Definition at line 169 of file gtimerlist.cpp.
References G_DEBUG, and G::DateTime::now().
|
static |
Singleton access. Returns NULL if none.
Definition at line 156 of file gtimerlist.cpp.
|
static |
Singleton access. Throws an exception if none.
Definition at line 161 of file gtimerlist.cpp.
Referenced by GNet::AbstractTimer::AbstractTimer(), GNet::TimerUpdate::TimerUpdate(), GNet::AbstractTimer::~AbstractTimer(), and GNet::TimerUpdate::~TimerUpdate().
| unsigned int GNet::TimerList::interval | ( | bool & | infinite | ) | const |
Returns the interval to the next timer expiry.
The 'infinite' value is set to true if there are no timers running.
Definition at line 141 of file gtimerlist.cpp.
References G::DateTime::now().
| void GNet::TimerList::remove | ( | AbstractTimer & | t | ) |
Removes a timer from the list.
Used by Timer::~Timer().
Definition at line 63 of file gtimerlist.cpp.
Referenced by GNet::AbstractTimer::~AbstractTimer().
| G::DateTime::EpochTime GNet::TimerList::soonest | ( | ) | const |
Returns the time of the first timer to expire, or zero if none.
Definition at line 104 of file gtimerlist.cpp.
Referenced by GNet::TimerUpdate::TimerUpdate().
| void GNet::TimerList::update | ( | G::DateTime::EpochTime | previous_soonest | ) |
Called when one of the list's timers has changed.
Definition at line 75 of file gtimerlist.cpp.
References GNet::EventLoop::exists(), G_DEBUG, GNet::EventLoop::instance(), GNet::EventLoop::setTimeout(), and update().
Referenced by update(), and GNet::TimerUpdate::~TimerUpdate().
1.8.9.1