-void TickTimers(time_t TIME);
-void AddTimer(InspTimer* T);
-void TickMissedTimers(time_t TIME);
+/** 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;
+
+ public:
+ /** Tick all pending Timers
+ * @param TIME the current system time
+ */
+ void TickTimers(time_t TIME);
+
+ /** Add an Timer
+ * @param T an Timer derived class to add
+ */
+ void AddTimer(Timer *T);