X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Scheduler%2FTimerEvent.hh;h=148fdcc007710b4e50b4ca8ef04cf6083ba92bd2;hb=e0a922ad6bffd3a527321131a906c701588d86f4;hp=b228890f27b7e3b7ca4306a503ac5648bb327f10;hpb=ac90835cbb00ca83a51ab9efb23fdcb75518e808;p=senf.git diff --git a/Scheduler/TimerEvent.hh b/Scheduler/TimerEvent.hh index b228890..148fdcc 100644 --- a/Scheduler/TimerEvent.hh +++ b/Scheduler/TimerEvent.hh @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2008 +// Copyright (C) 2008 // Fraunhofer Institute for Open Communication Systems (FOKUS) // Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund @@ -23,8 +23,8 @@ /** \file \brief TimerDispatcher public header */ -#ifndef HH_TimerDispatcher_ -#define HH_TimerDispatcher_ 1 +#ifndef HH_SENF_Scheduler_TimerEvent_ +#define HH_SENF_Scheduler_TimerEvent_ 1 // Custom includes #include @@ -55,7 +55,7 @@ namespace scheduler { Timer events are implemented using POSIX timers. Depending on kernel features, the timer resolution will be far more precise than the linux clock tick resolution. The nominal timer resolution is 1 nanosecond. - + The timeout time is set as \e absolute time as returned by the senf::ClockService. After expiration, the timer will be disabled. It may be re-enabled by setting a new timeout time. It is also possible to change a running timer resetting the timeout time. @@ -88,6 +88,8 @@ namespace scheduler { automatically. Use enable() to do so. \param[in] name Descriptive timer name (purely informational) + \param[in] timeout timeout time after the timer + will be disabled \param[in] cb Callback to call \param[in] initiallyEnabled if set \c false, do not enable callback automatically. */ @@ -95,7 +97,7 @@ namespace scheduler { ///< Create a timer event /**< Creates a timer event for callback \a cb. The timer is initially disabled. Use the timeout() member to set the - timeout time. + timeout time. \param[in] name Descriptive timer name (purely informational) \param[in] cb Callback to call. */ @@ -106,7 +108,6 @@ namespace scheduler { void disable(); ///< Disable timer void enable(); ///< Enable timer - bool enabled(); ///< \c true, if timer enabled, \c false otherwise void action(Callback const & cb); ///< Change timer event callback void timeout(ClockService::clock_type timeout, bool initiallyEnabled=true); @@ -114,9 +115,12 @@ namespace scheduler { /**< \param[in] timeout new timeout time \param[in] initiallyEnabled if set \c false, do not enable callback automatically. */ + ClockService::clock_type timeout() const; private: - virtual void run(); + virtual void v_run(); + virtual char const * v_type() const; + virtual std::string v_info() const; Callback cb_; ClockService::clock_type timeout_;