X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FMoof%2FTimer.hh;fp=src%2FMoof%2FTimer.hh;h=0000000000000000000000000000000000000000;hb=831f04d4bc19a390415ac0bbac4331c7a65509bc;hp=4cc848048c5655d38aabe2e89b47d9a9bc9669e4;hpb=299af4f2047e767e5d79501c26444473bda64c64;p=chaz%2Fyoink diff --git a/src/Moof/Timer.hh b/src/Moof/Timer.hh deleted file mode 100644 index 4cc8480..0000000 --- a/src/Moof/Timer.hh +++ /dev/null @@ -1,121 +0,0 @@ - -/*] Copyright (c) 2009-2010, Charles McGarvey [************************** -**] All rights reserved. -* -* vi:ts=4 sw=4 tw=75 -* -* Distributable under the terms and conditions of the 2-clause BSD license; -* see the file COPYING for a complete text of the license. -* -**************************************************************************/ - -#ifndef _MOOF_TIMER_HH_ -#define _MOOF_TIMER_HH_ - -/** - * @file Timer.hh - * Functions for measuring time in a friendly unit. - */ - -#include - -#include -#include - -#include - - -namespace Mf { - - -class Timer -{ -public: - - enum Mode - { - INVALID = -1, - NORMAL = 0, - ACTUAL = 1, - REPEAT = 2 - }; - - typedef boost::function Function; - - - Timer() : - mMode(INVALID) {} - - Timer(const Function& function, Scalar seconds, Mode mode = NORMAL) - { - init(function, seconds, mode); - } - - ~Timer() - { - invalidate(); - } - - void init(const Function& function, Scalar seconds, - Mode mode = NORMAL); - - bool isValid() const; - void invalidate(); - - void fire(); - - Scalar getSecondsRemaining() const; - bool isExpired() const; - bool isRepeating() const; - - - /** - * Get the number of seconds since a fixed, arbitrary point in the - * past. - * @return Seconds. - */ - - static Scalar getTicks(); - - - /** - * Put the thread to sleep for a certain period of time. If absolute - * is true, then it will sleep until seconds after the fixed time in - * the past. If absolute is false, it will sleep for seconds starting - * now. Unlike system sleep functions, this one automatically resumes - * sleep if sleep was interrupted by a signal. Therefore, calling this - * function is guaranteed to sleep for the requested amount of time - * (and maybe longer). - */ - - static void sleep(Scalar seconds, Mode mode = NORMAL); - - - static Scalar getNextFire() - { - return gNextFire; - } - - static void fireIfExpired(); - static void fireIfExpired(Scalar t); - -private: - - static unsigned getNewID(); - static Scalar findNextFire(); - - Function mFunction; - Mode mMode; - Scalar mAbsolute; - Scalar mInterval; - unsigned mId; - - static Scalar gNextFire; - static std::map gTimers; -}; - - -} // namespace Mf - -#endif // _MOOF_TIMER_HH_ -