added EnergySaver intended to handle shutdown.

Moved timer from MouseEventSpy to EnergySaver.
Connected MouseEventSpy and MusicController to EnergySaver.
This commit is contained in:
Anika Raemer 2019-04-04 12:21:41 +02:00
parent ce8ea8f582
commit 8a8abd6c76
7 changed files with 132 additions and 53 deletions

60
LenaPi/EnergySaver.cpp Normal file
View file

@ -0,0 +1,60 @@
#include "EnergySaver.h"
#include <QDebug>
EnergySaver::EnergySaver(QObject *parent) : QObject(parent)
{
}
void EnergySaver::init(int interval)
{
EnergySaver* saver = instance();
saver->initTimer(interval);
saver->restartTimer();
}
/**
* @brief Implements the singleton pattern.
* @return Instance
*
* If no instance has been created yet, create new instance.
*/
EnergySaver *EnergySaver::instance()
{
static EnergySaver* inst;
if (inst == nullptr)
{
inst = new EnergySaver();
}
return inst;
}
void EnergySaver::restartTimer()
{
if(mTimer.isActive()){
mTimer.stop();
}
mTimer.start();
}
/**
* @brief Initialize and connect timer.
* @param interval Timeout interval in millisecond.
*/
void EnergySaver::initTimer(int interval)
{
connect(&mTimer, &QTimer::timeout, this, &EnergySaver::onTimeout);
mTimer.setInterval(interval);
mTimer.setSingleShot(true);
}
/**
* @brief Behavior on timeout: shut down RaspberryPi.
* @todo Call shutdown script.
*/
void EnergySaver::onTimeout()
{
qDebug() << "shutting down.";
}