X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Ftimer.h;h=193e5909b759544573caa898b2832ba68d1a767b;hb=27f8e788c2a515f63f1f0e5e2b4b0d5e78c3dab4;hp=2887e2b52f1a473af4167a3f7e32d4a262480d28;hpb=e244cb2c63b1ac1d85bdbb4691f7b1bd940ae804;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/timer.h b/include/timer.h index 2887e2b52..193e5909b 100644 --- a/include/timer.h +++ b/include/timer.h @@ -1,9 +1,14 @@ /* * InspIRCd -- Internet Relay Chat Daemon * + * Copyright (C) 2013-2014 Attila Molnar + * Copyright (C) 2013, 2017 Sadie Powell + * Copyright (C) 2012 Robby + * Copyright (C) 2009 Uli Schlachter + * Copyright (C) 2009 Daniel De Graaf * Copyright (C) 2007-2008 Robin Burchell + * Copyright (C) 2007, 2010 Craig Edwards * Copyright (C) 2007 Dennis Friis - * Copyright (C) 2006-2007 Craig Edwards * * This file is part of InspIRCd. InspIRCd is free software: you can * redistribute it and/or modify it under the terms of the GNU General Public @@ -50,15 +55,9 @@ class CoreExport Timer 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 */ @@ -82,11 +81,13 @@ class CoreExport Timer /** Sets the interval between two ticks. */ - void SetInterval(time_t interval); + void SetInterval(unsigned int interval); /** 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; @@ -115,14 +116,14 @@ class CoreExport Timer } }; -typedef std::multimap 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 TimerMap; + /** A list of all pending timers */ TimerMap Timers;