public:
/** Default constructor, initializes the triggering time
* @param secs_from_now The number of seconds from now to trigger the timer
- * @param now The time now
* @param repeating Repeat this timer every secs_from_now seconds if set to true
*/
- Timer(unsigned int secs_from_now, time_t now, bool repeating = false)
- {
- trigger = now + secs_from_now;
- secs = secs_from_now;
- repeat = repeating;
- }
+ Timer(unsigned int secs_from_now, bool repeating = false);
/** Default destructor, removes the timer from the timer manager
*/
/** Called when the timer ticks.
* You should override this method with some useful code to
* handle the tick event.
+ * @param TIME The current time.
+ * @return True if the Timer object is still valid, false if it was destructed.
*/
virtual bool Tick(time_t TIME) = 0;
}
};
-typedef std::multimap<time_t, Timer*> TimerMap;
-
/** This class manages sets of Timers, and triggers them at their defined times.
* This will ensure timers are not missed, as well as removing timers that have
* expired and allowing the addition of new ones.
*/
class CoreExport TimerManager
{
+ typedef std::multimap<time_t, Timer*> TimerMap;
+
/** A list of all pending timers
*/
TimerMap Timers;