cacicthread.cpp
1.66 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
50
51
52
53
54
55
56
#include "cacicthread.h"
CacicThread::CacicThread(QString applicationDirPath)
{
this->applicationDirPath = applicationDirPath;
iniciarInstancias();
}
void CacicThread::run(){
iniciarModulo();
}
void CacicThread::setModuloDirPath(const QString &value)
{
moduloDirPath = value;
}
void CacicThread::iniciarModulo()
{
registraInicioColeta();
QDir::setCurrent(this->applicationDirPath);
QProcess proc;
proc.setWorkingDirectory(this->applicationDirPath);
proc.execute(this->moduloDirPath);
if((proc.atEnd()) && (proc.exitStatus() == QProcess::NormalExit)){
registraFimColeta("SUCESSO");
}else{
if((!proc.atEnd()) || (proc.exitStatus() == QProcess::CrashExit)){
registraFimColeta("ERRO");
proc.kill();
}
}
cMutex->unlock();
QLogger::QLog_Info("Cacic Daemon (Thread)", QString("Semáforo aberto com sucesso."));
}
void CacicThread::setCMutex(QMutex *value)
{
cMutex = value;
}
void CacicThread::registraInicioColeta()
{
QLogger::QLog_Info("Cacic Daemon (Thread)","Coleta iniciada em: " + QDateTime::currentDateTime().toLocalTime().toString());
}
void CacicThread::registraFimColeta(QString msg)
{
QLogger::QLog_Info("Cacic Daemon (Thread)","Coleta finalizada com " + msg + " em: " + QDateTime::currentDateTime().toLocalTime().toString());
}
void CacicThread::iniciarInstancias(){
logManager = QLogger::QLoggerManager::getInstance();
logManager->addDestination(this->applicationDirPath + "/Logs/cacicLog.txt","Cacic Daemon (Thread)",QLogger::InfoLevel);
logManager->addDestination(this->applicationDirPath + "/Logs/cacicLog.txt","Cacic Daemon (Thread)",QLogger::ErrorLevel);
}