* ---------------------------------------------------
*/
+/* $Core: libIRCDtimer */
+
#include "inspircd.h"
#include "timer.h"
-TimerManager::TimerManager() : CantDeleteHere(false)
+TimerManager::TimerManager(InspIRCd* Instance) : CantDeleteHere(false), ServerInstance(Instance)
{
}
*/
for (timergroup::iterator y = x->begin(); y != x->end(); y++)
{
- InspTimer* n = *y;
+ Timer* n = *y;
n->Tick(TIME);
if (n->GetRepeat())
{
this->CantDeleteHere = false;
}
-void TimerManager::DelTimer(InspTimer* T)
+void TimerManager::DelTimer(Timer* T)
{
if (this->CantDeleteHere)
{
timergroup* x = found->second;
for (timergroup::iterator y = x->begin(); y != x->end(); y++)
{
- InspTimer* n = *y;
+ Timer* n = *y;
if (n == T)
{
DELETE(n);
this->TickTimers(TIME);
}
-void TimerManager::AddTimer(InspTimer* T, long secs_from_now)
+void TimerManager::AddTimer(Timer* T, long secs_from_now)
{
timergroup* x = NULL;
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);