42 lines
701 B
C++
42 lines
701 B
C++
#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);
|