diff options
author | XTZGZoReX <none@none> | 2009-12-29 00:27:44 +0100 |
---|---|---|
committer | XTZGZoReX <none@none> | 2009-12-29 00:27:44 +0100 |
commit | 03890fbe48767610e70a49f6961f591e871b62cf (patch) | |
tree | 9705608a99f2d382c90b4018dd20c795eae8a85d | |
parent | a5f681fe9e0195b32bf1c7901901df2477e2794c (diff) |
* Partial revert of [6833 : 970affc03278] - code style fixes + a warning fix preserved. Don't ask me why, but apparently time CAN be negative in TC. Funny stuff.
--HG--
branch : trunk
-rw-r--r-- | src/shared/Timer.h | 164 |
1 files changed, 126 insertions, 38 deletions
diff --git a/src/shared/Timer.h b/src/shared/Timer.h index 005bd2112c1..23ab38c0f08 100644 --- a/src/shared/Timer.h +++ b/src/shared/Timer.h @@ -56,67 +56,155 @@ inline uint32 getMSTimeDiff(uint32 oldMSTime, uint32 newMSTime) return newMSTime - oldMSTime; } -class IntervalTimer +struct IntervalTimer { public: - IntervalTimer() : _interval(0), _current(0) {} - void Update(time_t diff) { _current += diff; if(_current<0) _current=0;} - bool Passed() { return _current >= _interval; } - void Reset() { if(_current >= _interval) _current -= _interval; } - - void SetCurrent(time_t current) { _current = current; } - void SetInterval(time_t interval) { _interval = interval; } - time_t GetInterval() const { return _interval; } - time_t GetCurrent() const { return _current; } + IntervalTimer() + : _interval(0), _current(0) + { + } + + void Update(time_t diff) + { + _current += diff; + if (_current < 0) + _current = 0; + } + + bool Passed() + { + return _current >= _interval; + } + + void Reset() + { + if (_current >= _interval) + _current -= _interval; + } + + void SetCurrent(time_t current) + { + _current = current; + } + + void SetInterval(time_t interval) + { + _interval = interval; + } + + time_t GetInterval() const + { + return _interval; + } + + time_t GetCurrent() const + { + return _current; + } private: + time_t _interval; time_t _current; }; struct TimeTracker { - TimeTracker(time_t expiry) : i_expiryTime(expiry) {} - void Update(time_t diff) { i_expiryTime -= diff; } - bool Passed(void) const { return (i_expiryTime <= 0); } - void Reset(time_t interval) { i_expiryTime = interval; } - time_t GetExpiry(void) const { return i_expiryTime; } - time_t i_expiryTime; + public: + + TimeTracker(time_t expiry) + : i_expiryTime(expiry) + { + } + + void Update(time_t diff) + { + i_expiryTime -= diff; + } + + bool Passed() const + { + return i_expiryTime <= 0; + } + + void Reset(time_t interval) + { + i_expiryTime = interval; + } + + time_t GetExpiry() const + { + return i_expiryTime; + } + + private: + + time_t i_expiryTime; }; struct TimeTrackerSmall { - TimeTrackerSmall(uint32 expiry) : i_expiryTime(expiry) {} - void Update(int32 diff) { i_expiryTime -= diff; } - bool Passed(void) const { return (i_expiryTime <= 0); } - void Reset(uint32 interval) { i_expiryTime = interval; } - uint32 GetExpiry(void) const { return i_expiryTime; } - uint32 i_expiryTime; + public: + + TimeTrackerSmall(uint32 expiry) + : i_expiryTime(expiry) + { + } + + void Update(int32 diff) + { + i_expiryTime -= diff; + } + + bool Passed() const + { + return i_expiryTime <= 0; + } + + void Reset(uint32 interval) + { + i_expiryTime = interval; + } + + int32 GetExpiry() const + { + return i_expiryTime; + } + + private: + + int32 i_expiryTime; }; struct PeriodicTimer { - PeriodicTimer(uint32 period, uint32 start_time) : - i_expireTime(start_time), i_period(period) {} + public: + + PeriodicTimer(int32 period, int32 start_time) + : i_expireTime(start_time), i_period(period) + { + } - bool Update(const uint32 &diff) - { - if((i_expireTime -= diff) > 0) - return false; + bool Update(const uint32 &diff) + { + if ((i_expireTime -= diff) > 0) + return false; - i_expireTime += i_period > diff ? i_period : diff; - return true; - } + i_expireTime += i_period > diff ? i_period : diff; + return true; + } - void SetPeriodic(uint32 period, uint32 start_time) - { - i_expireTime=start_time, i_period=period; - } + void SetPeriodic(int32 period, int32 start_time) + { + i_expireTime = start_time; + i_period = period; + } - uint32 i_period; - uint32 i_expireTime; + private: + + int32 i_period; + int32 i_expireTime; }; #endif - |