Changeset 7401 for code/trunk/src/libraries/tools/Timer.h
- Timestamp:
- Sep 11, 2010, 12:34:00 AM (15 years ago)
- Location:
- code/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk
- Property svn:mergeinfo changed
/code/branches/doc (added) merged: 7290-7292,7296-7300,7302-7304,7306-7312,7315-7318,7323,7325,7327,7331-7332,7334-7335,7345-7347,7352-7353,7356-7357,7361,7363-7367,7371-7375,7388
- Property svn:mergeinfo changed
-
code/trunk/src/libraries/tools/Timer.h
r7284 r7401 27 27 */ 28 28 29 /*! 29 /** 30 @defgroup Timer Timer 31 @ingroup Tools 32 */ 33 34 /** 30 35 @file 31 @brief Definition and Implementation of the Timer class. 36 @ingroup Timer 37 @brief Declaration of the Timer class, used to call functions after a given time-interval. 32 38 33 The Timer is a callback-object, calling a given function after a given time-interval.39 @anchor TimerExample 34 40 35 Usage: 41 Timer is a helper class that executes a function after a given amount of time. 42 43 Usage: <br> 36 44 header.h: 37 class ClassName 38 { 39 public: 40 ClassName(); 41 void functionName(); 42 Timer myTimer; 43 }; 45 @code 46 class MyClass 47 { 48 public: 49 MyClass(); 50 void functionName(); 51 52 private: 53 Timer myTimer; 54 }; 55 @endcode 44 56 45 57 source.cc: 46 #include "core/command/Executor.h" 58 @code 59 #include "core/command/Executor.h" 47 60 48 ClassName::ClassName()49 50 myTimer.setTimer(interval_in_seconds, bLoop, createExecutor(createFunctor(&ClassName::functionName, this)));51 61 MyClass::MyClass() 62 { 63 myTimer.setTimer(3, false, createExecutor(createFunctor(&ClassName::myFunction, this))); 64 } 52 65 53 void ClassName::functionName() 54 { 55 whateveryouwant(); 56 something(else); 57 } 66 void MyClass::myFunction() 67 { 68 COUT(0) << "Hello World" << std::endl; 69 } 70 @endcode 71 72 The code in this example prints "Hello World" to the console, 3 seconds after creating 73 an instance of MyClass. 58 74 */ 59 75 … … 73 89 void executeDelayedCommand(Timer* timer, const std::string& command); 74 90 75 //! The Timer is a callback-object, calling a given function after a given time-interval. 91 /** 92 @brief Timer is a helper class that executes a function after a given amount of time. 93 94 @see See @ref TimerExample "Timer.h" for an example. 95 */ 76 96 class _ToolsExport Timer : public TimeFactorListener 77 97 { … … 82 102 83 103 /** 84 @brief Initializes the Timer with given values.85 @param interval The timer-interval in seconds86 @param bLoop If true, the function gets called every 'interval'seconds87 @param object The object owning the timer and the function88 @param executor A executor of the function to call104 @brief Initializes and starts the timer, which will call an executor after some time. 105 @param interval The timer-interval in seconds 106 @param bLoop If true, the executor gets called every @a interval seconds 107 @param executor The executor that will be called 108 @param bKillAfterCall If true, the timer will be deleted after the executor was called 89 109 */ 90 110 void setTimer(float interval, bool bLoop, const ExecutorPtr& executor, bool bKillAfterCall = false) … … 101 121 void run(); 102 122 103 / ** @brief Starts the Timer: Function-call after 'interval' seconds. */123 /// Re-starts the Timer: The executor will be called after @a interval seconds. 104 124 inline void startTimer() 105 125 { this->bActive_ = true; this->time_ = this->interval_; } 106 / ** @brief Stops the Timer. */126 /// Stops the Timer. 107 127 inline void stopTimer() 108 128 { this->bActive_ = false; this->time_ = this->interval_; } 109 / ** @brief Pauses the Timer - it will continue with the actual state if you unpause it. */129 /// Pauses the Timer - it will continue with the actual state if you call unpauseTimer(). 110 130 inline void pauseTimer() 111 131 { this->bActive_ = false; } 112 / ** @brief Unpauses the Timer - continues with the given state. */132 /// Unpauses the Timer - continues with the given state. 113 133 inline void unpauseTimer() 114 134 { this->bActive_ = true; } 115 / ** @brief Returns true if the Timer is active (= not stoped, not paused). @return True = Time is active */135 /// Returns true if the Timer is active (neither stoped nor paused). 116 136 inline bool isActive() const 117 137 { return this->bActive_; } 118 / ** @brief Returns the remaining time until the Timer calls the function. @return The remaining time */138 /// Returns the remaining time until the Timer calls the executor. 119 139 inline float getRemainingTime() const 120 140 { return static_cast<float>(this->time_ / 1000000.0f); } 121 / ** @brief Gives the Timer some extra time. @param time The amount of extra time in seconds */141 /// Increases the remaining time of the Timer by the given amount of time (in seconds). 122 142 inline void addTime(float time) 123 143 { if (time > 0.0f) this->time_ += static_cast<long long>(time * 1000000.0f); } 124 / ** @brief Decreases the remaining time of the Timer. @param time The amount of time to remove */144 /// Decreases the remaining time of the Timer by the given amount of time (in seconds) 125 145 inline void removeTime(float time) 126 146 { if (time > 0.0f) this->time_ -= static_cast<long long>(time * 1000000.0f); } 127 / ** @brief Sets the interval of the Timer. @param interval The interval */147 /// Changes the calling interval. 128 148 inline void setInterval(float interval) 129 149 { this->interval_ = static_cast<long long>(interval * 1000000.0f); } 130 / ** @brief Sets bLoop to a given value. @param bLoop True = loop */150 /// Defines if the timer call the executor every @a interval seconds or only once. 131 151 inline void setLoop(bool bLoop) 132 152 { this->bLoop_ = bLoop; } … … 137 157 void init(); 138 158 139 ExecutorPtr executor_; //!< The executor of the function that shouldbe called when the time expires159 ExecutorPtr executor_; //!< The executor of the function that will be called when the time expires 140 160 141 161 long long interval_; //!< The time-interval in micro seconds 142 bool bLoop_; //!< If true, the function gets called every 'interval'seconds143 bool bActive_; //!< If true, the Timer ticks and calls the functionif the time's up144 bool bKillAfterCall_; //!< If true the timer gets deleted after it called the function162 bool bLoop_; //!< If true, the executor gets called every @a interval seconds 163 bool bActive_; //!< If true, the Timer ticks and calls the executor if the time's up 164 bool bKillAfterCall_; //!< If true the timer gets deleted after it expired and called the executor 145 165 146 long long time_; //!< Internal variable, counting the time till the next function-call166 long long time_; //!< Internal variable, counting the time untill the next executor-call 147 167 }; 148 168 }
Note: See TracChangeset
for help on using the changeset viewer.