//#include "IntervalTimer.ih"
// Custom includes
-#include "Scheduler/Scheduler.hh"
+#include "../Scheduler/Scheduler.hh"
+#include "EventManager.hh"
//#include "IntervalTimer.mpp"
#define prefix_
prefix_ void senf::ppi::IntervalTimer::v_enable()
{
- info_.intervalStart = ClockService::now();
+ info_.intervalStart = manager().now();
info_.number = 0;
schedule();
}
prefix_ void senf::ppi::IntervalTimer::v_disable()
{
Scheduler::instance().cancelTimeout(id_);
+ id_ = 0;
}
prefix_ void senf::ppi::IntervalTimer::schedule()
prefix_ void senf::ppi::IntervalTimer::cb()
{
callback(info_, info_.expected);
+ if (! enabled())
+ return;
++ info_.number;
if (info_.number >= eventsPerInterval_) {
info_.number = 0;