#ifndef INSPIRCD_TIMER_H
#define INSPIRCD_TIMER_H
+class InspIRCd;
+
/** Timer class for one-second resolution timers
* InspTimer provides a facility which allows module
* developers to create one-shot timers. The timer
/** Set when ticking timers, to prevent deletion while iterating
*/
bool CantDeleteHere;
+ /** Creating server instance
+ */
+ InspIRCd* ServerInstance;
private:
/** The current timer set, a map of timergroups
this->OpenLog(argv, argc);
this->stats = new serverstats();
- this->Timers = new TimerManager();
+ this->Timers = new TimerManager(this);
this->Parser = new CommandParser(this);
this->XLines = new XLineManager(this);
Config->ClearStack();
#include "inspircd.h"
#include "timer.h"
-TimerManager::TimerManager() : CantDeleteHere(false)
+TimerManager::TimerManager(InspIRCd* Instance) : CantDeleteHere(false), ServerInstance(Instance)
{
}
if (!secs_from_now)
time_to_trigger = T->GetTimer();
else
- time_to_trigger = secs_from_now + time(NULL);
+ time_to_trigger = secs_from_now + ServerInstance->Time();
timerlist::iterator found = Timers.find(time_to_trigger);