Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Sep 11, 2010, 12:34:00 AM (14 years ago)
Author:
landauf
Message:

merged doc branch back to trunk

Location:
code/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/trunk

  • code/trunk/src/libraries/tools/Timer.h

    r7284 r7401  
    2727 */
    2828
    29 /*!
     29/**
     30    @defgroup Timer Timer
     31    @ingroup Tools
     32*/
     33
     34/**
    3035    @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.
    3238
    33     The Timer is a callback-object, calling a given function after a given time-interval.
     39    @anchor TimerExample
    3440
    35     Usage:
     41    Timer is a helper class that executes a function after a given amount of time.
     42
     43    Usage: <br>
    3644    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
    4456
    4557    source.cc:
    46         #include "core/command/Executor.h"
     58    @code
     59    #include "core/command/Executor.h"
    4760
    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    }
    5265
    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.
    5874*/
    5975
     
    7389    void executeDelayedCommand(Timer* timer, const std::string& command);
    7490
    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    */
    7696    class _ToolsExport Timer : public TimeFactorListener
    7797    {
     
    82102
    83103            /**
    84                 @brief Initializes the Timer with given values.
    85                 @param interval The timer-interval in seconds
    86                 @param bLoop If true, the function gets called every 'interval' seconds
    87                 @param object The object owning the timer and the function
    88                 @param executor A executor of the function to call
     104                @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
    89109            */
    90110            void setTimer(float interval, bool bLoop, const ExecutorPtr& executor, bool bKillAfterCall = false)
     
    101121            void run();
    102122
    103             /** @brief Starts the Timer: Function-call after 'interval' seconds. */
     123            /// Re-starts the Timer: The executor will be called after @a interval seconds.
    104124            inline void startTimer()
    105125                { this->bActive_ = true; this->time_ = this->interval_; }
    106             /** @brief Stops the Timer. */
     126            /// Stops the Timer.
    107127            inline void stopTimer()
    108128                { 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().
    110130            inline void pauseTimer()
    111131                { this->bActive_ = false; }
    112             /** @brief Unpauses the Timer - continues with the given state. */
     132            /// Unpauses the Timer - continues with the given state.
    113133            inline void unpauseTimer()
    114134                { 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).
    116136            inline bool isActive() const
    117137                { 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.
    119139            inline float getRemainingTime() const
    120140                { 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).
    122142            inline void addTime(float time)
    123143                { 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)
    125145            inline void removeTime(float time)
    126146                { 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.
    128148            inline void setInterval(float interval)
    129149                { 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.
    131151            inline void setLoop(bool bLoop)
    132152                { this->bLoop_ = bLoop; }
     
    137157            void init();
    138158
    139             ExecutorPtr executor_;  //!< The executor of the function that should be called when the time expires
     159            ExecutorPtr executor_;  //!< The executor of the function that will be called when the time expires
    140160
    141161            long long interval_;    //!< The time-interval in micro seconds
    142             bool bLoop_;            //!< If true, the function gets called every 'interval' seconds
    143             bool bActive_;          //!< If true, the Timer ticks and calls the function if the time's up
    144             bool bKillAfterCall_;   //!< If true the timer gets deleted after it called the function
     162            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
    145165
    146             long long time_;        //!< Internal variable, counting the time till the next function-call
     166            long long time_;        //!< Internal variable, counting the time untill the next executor-call
    147167    };
    148168}
Note: See TracChangeset for help on using the changeset viewer.