X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Scheduler%2FTimerEvent.cci;h=ad671db5003db37fda054cf31bcaefb3bd6f8583;hb=b89e3166f7680755683dccee5e48cb3a820185c0;hp=0dffcd903a346764fa9ab2f9e4066c8943e02d7a;hpb=db007c39287e3c666dd6b53edc8c3404617c7dd5;p=senf.git diff --git a/Scheduler/TimerEvent.cci b/Scheduler/TimerEvent.cci index 0dffcd9..ad671db 100644 --- a/Scheduler/TimerEvent.cci +++ b/Scheduler/TimerEvent.cci @@ -37,14 +37,14 @@ prefix_ senf::scheduler::TimerEvent::TimerEvent(std::string const & name, Callback const & cb, ClockService::clock_type timeout, bool initiallyEnabled) - : FIFORunner::TaskInfo (name), cb_ (cb), timeout_ (timeout) + : detail::FIFORunner::TaskInfo (name), cb_ (cb), timeout_ (timeout) { if (initiallyEnabled) enable(); } prefix_ senf::scheduler::TimerEvent::TimerEvent(std::string const & name, Callback const & cb) - : FIFORunner::TaskInfo (name), cb_ (cb), timeout_ (0) + : detail::FIFORunner::TaskInfo (name), cb_ (cb), timeout_ (0) {} prefix_ senf::scheduler::TimerEvent::~TimerEvent() @@ -65,11 +65,6 @@ prefix_ void senf::scheduler::TimerEvent::disable() senf::scheduler::detail::TimerDispatcher::instance().remove(*this); } -prefix_ bool senf::scheduler::TimerEvent::enabled() -{ - return detail::TimerSetBase::linked(); -} - prefix_ void senf::scheduler::TimerEvent::action(Callback const & cb) { cb_ = cb; @@ -84,15 +79,43 @@ prefix_ void senf::scheduler::TimerEvent::timeout(ClockService::clock_type timeo enable(); } +prefix_ senf::ClockService::clock_type senf::scheduler::TimerEvent::timeout() + const +{ + return timeout_; +} + /////////////////////////////////////////////////////////////////////////// // senf::scheduler::detail::TimerDispatcher +prefix_ void senf::scheduler::detail::TimerDispatcher::enable() +{ + source_->enable(); +} + +prefix_ void senf::scheduler::detail::TimerDispatcher::disable() +{ + source_->disable(); +} + prefix_ bool senf::scheduler::detail::TimerDispatcher::empty() const { return timers_.empty(); } +prefix_ void senf::scheduler::detail::TimerDispatcher:: +timerSource(std::auto_ptr timerSource) +{ + source_.reset(timerSource.release()); +} + +prefix_ senf::scheduler::detail::TimerSource * +senf::scheduler::detail::TimerDispatcher::timerSource() +{ + return source_.get(); +} + ///////////////////////////////cci.e/////////////////////////////////////// #undef prefix_