-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathMessageSaver_Service.cpp
More file actions
49 lines (40 loc) · 1.25 KB
/
MessageSaver_Service.cpp
File metadata and controls
49 lines (40 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include "MessageSaver_Service.h"
MessageSaver_Service* MessageSaver_Service::p_instance = nullptr;
bool MessageSaver_Service::is_started = false;
QTimer* MessageSaver_Service::p_timer = nullptr;
QThread* MessageSaver_Service::p_thread = nullptr;
MessageSaver_Service::MessageSaver_Service(QObject* parent_) : QObject(parent_) {}
bool MessageSaver_Service::start(const float& minutes_)
{
if (!is_started) {
is_started = true;
if (p_instance == nullptr) {
p_instance = new MessageSaver_Service();
PLOGI << "Archivator instance is created.";
}
else PLOGW << "Archivator instance already exist!!!";
int timeout = (int)(minutes_ * 60000);
p_thread = new QThread();
p_timer = new QTimer();
p_instance->moveToThread(p_thread);
connect(p_timer, &QTimer::timeout, LocalStorage_Service::getInstance(), &LocalStorage_Service::saveAllMessages);
p_timer->start((int)timeout);
p_thread->start();
PLOGI << "Archivator service started.";
return true;
}
else
{
PLOGW << "Archivator was already started!!!";
return false;
}
}
void MessageSaver_Service::safeExit()
{
p_timer->stop();
p_timer->deleteLater();
p_thread->quit();
p_thread->deleteLater();
p_instance->deleteLater();
}
void MessageSaver_Service::test() { PLOGN << "ASDASDASDASDASD"; };