added EnergySaver intended to handle shutdown.
Moved timer from MouseEventSpy to EnergySaver. Connected MouseEventSpy and MusicController to EnergySaver.
This commit is contained in:
parent
ce8ea8f582
commit
8a8abd6c76
7 changed files with 132 additions and 53 deletions
60
LenaPi/EnergySaver.cpp
Normal file
60
LenaPi/EnergySaver.cpp
Normal 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.";
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue