X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Ftimer.h;h=16784fecdeae19756daf0da04f87f0e39d4e918f;hb=635cb9d65f6d7f6758ae8ed874da00c8d94b6e39;hp=6f1834178932dcec88f7e36b129e921d1e638209;hpb=1638ee61936bc91758be39c3463c6e46d0d655e7;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/timer.h b/include/timer.h index 6f1834178..16784fecd 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 Dennis Friis - * Copyright (C) 2006-2007 Craig Edwards + * Copyright (C) 2006-2007, 2010 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 @@ -49,17 +54,10 @@ class CoreExport Timer public: /** Default constructor, initializes the triggering time - * @param mod The module that created this timer * @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 */ @@ -83,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; @@ -116,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;