#include "Idle.h" #include "../Static.h" IdleTimer::IdleTimer() : InputSource("IdleTimer"), m_idleTime(60), m_secondsRemaining(0) { } InputEvent IdleTimer::read() { EVERY_N_SECONDS(1) { if (m_secondsRemaining > 0) { m_secondsRemaining -= 1; if (m_secondsRemaining == 0) { return InputEvent::IdleStart; } } } return InputEvent::None; } void IdleTimer::handleEvent(const InputEvent& evt) { switch(evt.intent) { case InputEvent::IdleStart: m_secondsRemaining = 0; break; case InputEvent::IdleStop: m_secondsRemaining = m_idleTime; break; default: break; } } STATIC_ALLOC(IdleTimer); STATIC_TASK(IdleTimer);