Commit 48bd8e5a7d5a3b08241c8e6eaa6fb662bfd22890
1 parent
fb84683c
Exists in
master
Modificações para adequar ao JSON de configuração definido.
Showing
4 changed files
with
161 additions
and
126 deletions
Show diff stats
cacic-daemon/cacicD/cacicd.cpp
@@ -15,6 +15,7 @@ cacicD::cacicD(int argc, char **argv) : QtService<QCoreApplication>(argc, argv, | @@ -15,6 +15,7 @@ cacicD::cacicD(int argc, char **argv) : QtService<QCoreApplication>(argc, argv, | ||
15 | logManager->addDestination(application()->applicationDirPath() + "/cacicLog.txt","Cacic Daemon",QLogger::ErrorLevel); | 15 | logManager->addDestination(application()->applicationDirPath() + "/cacicLog.txt","Cacic Daemon",QLogger::ErrorLevel); |
16 | } catch (...){ | 16 | } catch (...){ |
17 | qCritical() << "Error desconhecido no construtor."; | 17 | qCritical() << "Error desconhecido no construtor."; |
18 | + QLogger::QLog_Error("Cacic Daemon", QString("Erro desconhecido no construtor.")); | ||
18 | } | 19 | } |
19 | } | 20 | } |
20 | 21 | ||
@@ -24,51 +25,49 @@ cacicD::~cacicD() | @@ -24,51 +25,49 @@ cacicD::~cacicD() | ||
24 | logManager->closeLogger(); | 25 | logManager->closeLogger(); |
25 | application()->exit(); | 26 | application()->exit(); |
26 | } catch (...){ | 27 | } catch (...){ |
27 | - qCritical() << "Error desconhecido no desconstrutor."; | 28 | + QLogger::QLog_Error("Cacic Daemon", QString("Erro desconhecido no destrutor.")); |
28 | } | 29 | } |
29 | } | 30 | } |
30 | 31 | ||
31 | void cacicD::start() { | 32 | void cacicD::start() { |
32 | try{ | 33 | try{ |
33 | - qDebug() << "Inicio do daemon"; | ||
34 | - qDebug() << "\nServiço iniciado em" << application()->applicationDirPath(); | ||
35 | QLogger::QLog_Info("Cacic Daemon", QString("Servico iniciado em ").append(application()->applicationDirPath()).append(".")); | 34 | QLogger::QLog_Info("Cacic Daemon", QString("Servico iniciado em ").append(application()->applicationDirPath()).append(".")); |
36 | QJsonObject result = ccacic->getJsonFromFile(application()->applicationDirPath().append("/getConfig.json")); | 35 | QJsonObject result = ccacic->getJsonFromFile(application()->applicationDirPath().append("/getConfig.json")); |
37 | if(!result.contains("error") && !result.isEmpty()){ | 36 | if(!result.contains("error") && !result.isEmpty()){ |
38 | Ocacictimer->iniciarTimer(result["codestatus"].toInt()); | 37 | Ocacictimer->iniciarTimer(result["codestatus"].toInt()); |
39 | }else{ | 38 | }else{ |
40 | - qDebug() << "getConfig.json não encontrado."; | 39 | + QLogger::QLog_Error("Cacic Daemon", QString("getConfig.json não encontrado.")); |
41 | } | 40 | } |
42 | //QLogger::QLog_Info("Cacic Daemon", "Serviço finalizado."); | 41 | //QLogger::QLog_Info("Cacic Daemon", "Serviço finalizado."); |
43 | }catch (...){ | 42 | }catch (...){ |
44 | - qCritical() << "Error desconhecido ao iniciar o serviço."; | 43 | + QLogger::QLog_Error("Cacic Daemon", QString("Erro desconhecido ao iniciar o serviço.")); |
45 | } | 44 | } |
46 | } | 45 | } |
47 | 46 | ||
48 | void cacicD::pause() | 47 | void cacicD::pause() |
49 | { | 48 | { |
50 | try{ | 49 | try{ |
51 | - qDebug() << "Serviço pausado."; | 50 | + QLogger::QLog_Info("Cacic Daemon", QString("Serviço pausado.")); |
52 | } catch (...){ | 51 | } catch (...){ |
53 | - qCritical() << "Error desconhecido ao pausar o serviço."; | 52 | + QLogger::QLog_Error("Cacic Daemon", QString("Erro desconhecido ao pausar o serviço.")); |
54 | } | 53 | } |
55 | } | 54 | } |
56 | 55 | ||
57 | void cacicD::resume() | 56 | void cacicD::resume() |
58 | { | 57 | { |
59 | try{ | 58 | try{ |
60 | - qDebug() << "Serviço resumido."; | 59 | + QLogger::QLog_Info("Cacic Daemon", QString("Serviço resumido.")); |
61 | } catch (...){ | 60 | } catch (...){ |
62 | - qCritical() << "Error desconhecido ao resumir o serviço."; | 61 | + QLogger::QLog_Error("Cacic Daemon", QString("Erro desconhecido ao resumir o serviço.")); |
63 | } | 62 | } |
64 | } | 63 | } |
65 | 64 | ||
66 | void cacicD::stop() | 65 | void cacicD::stop() |
67 | { | 66 | { |
68 | try{ | 67 | try{ |
69 | - qDebug() << "Serviço parado."; | 68 | + QLogger::QLog_Info("Cacic Daemon", QString("Serviço parado.")); |
70 | } catch (...){ | 69 | } catch (...){ |
71 | - qCritical() << "Error desconhecido ao parar o serviço."; | 70 | + QLogger::QLog_Error("Cacic Daemon", QString("Erro desconhecido ao parar o serviço.")); |
72 | } | 71 | } |
73 | } | 72 | } |
74 | 73 |
cacic-daemon/cacicD/cacictimer.cpp
@@ -25,117 +25,106 @@ void CacicTimer::mslot(){ | @@ -25,117 +25,106 @@ void CacicTimer::mslot(){ | ||
25 | QLogger::QLog_Info("Cacic Daemon (Timer)", QString("mslot();")); | 25 | QLogger::QLog_Info("Cacic Daemon (Timer)", QString("mslot();")); |
26 | cMutex->lock(); | 26 | cMutex->lock(); |
27 | QLogger::QLog_Info("Cacic Daemon (Timer)", QString("Semáforo fechado.")); | 27 | QLogger::QLog_Info("Cacic Daemon (Timer)", QString("Semáforo fechado.")); |
28 | - //if(getTest()){ | ||
29 | - // QLogger::QLog_Info("Cacic Daemon (Timer)", QString("getTeste() success.")); | ||
30 | - // if(getConfig()){ | ||
31 | - // QLogger::QLog_Info("Cacic Daemon (Timer)", QString("getConfig() success.")); | ||
32 | - iniciarGercols(); | ||
33 | - // } | ||
34 | - // } | 28 | + |
29 | + if(getTest()){ | ||
30 | + QLogger::QLog_Info("Cacic Daemon (Timer)", QString("getTeste() success.")); | ||
31 | + | ||
32 | + if(getConfig()){ | ||
33 | + QLogger::QLog_Info("Cacic Daemon (Timer)", QString("getConfig() success.")); | ||
34 | + | ||
35 | + // Compara o novo arquivo de configuração com um antigo e se forem diferentes | ||
36 | + // mantem o mais recente; caso iguais simplesmente apaga o novo. | ||
37 | + QFile *fileOld; | ||
38 | + QFile *fileNew; | ||
39 | + | ||
40 | + fileOld = new QFile(getApplicationDirPath().append("/getConfig.json")); | ||
41 | + fileNew = new QFile(getApplicationDirPath().append("/getConfigNew.json")); | ||
42 | + if( fileOld->exists() && fileNew->exists() ){ | ||
43 | + if( Md5IsEqual(QVariant::fromValue(fileOld), QVariant::fromValue(fileNew)) ) { | ||
44 | + fileNew->remove(); | ||
45 | + } else { | ||
46 | + // Renomeia getConfigNew.json para getConfig.json | ||
47 | + fileOld->remove(); | ||
48 | + fileNew->rename("getConfigNew.json","getConfig.json"); | ||
49 | + } | ||
50 | + jsonConfig = ccacic->getJsonFromFile(getApplicationDirPath().append("/getConfig.json")); | ||
51 | + } else if( fileOld->exists() ){ | ||
52 | + jsonConfig = ccacic->getJsonFromFile(getApplicationDirPath().append("/getConfig.json")); | ||
53 | + } else { | ||
54 | + QLogger::QLog_Error("Cacic Daemon (Timer)", "Arquivo de configuração não criado."); | ||
55 | + } | ||
56 | + delete fileOld; | ||
57 | + delete fileNew; | ||
58 | + | ||
59 | + lerArquivoConfig(jsonConfig); | ||
60 | + | ||
61 | + int countExecNotFound = 0; | ||
62 | + QMap<QString, QString>::const_iterator mapIterator = moduleMap.constBegin(); | ||
63 | + while (mapIterator != moduleMap.constEnd()) { | ||
64 | + QString nomeModulo = mapIterator.value(); | ||
65 | + QString hashModulo = mapIterator.key(); | ||
66 | + | ||
67 | + // Calcula hash do binario atual | ||
68 | +#if defined(Q_OS_WIN) | ||
69 | + fileOld = new QFile(getApplicationDirPath().append("/").append(modulo).append(".exe")); | ||
70 | +#else | ||
71 | + fileOld = new QFile(getApplicationDirPath().append("/").append(nomeModulo)); | ||
72 | +#endif | ||
73 | + if(!fileOld->exists()) { | ||
74 | + QLogger::QLog_Error("Cacic Daemon (Timer)", QString("Módulo ").append(nomeModulo).append(" não encontrado.")); | ||
75 | + | ||
76 | + countExecNotFound++; | ||
77 | + if( countExecNotFound == moduleMap.size() ) { | ||
78 | + QLogger::QLog_Error("Cacic Daemon (Timer)", "Não foi possível encontrar nenhum módulo executável!"); | ||
79 | + return; | ||
80 | + } | ||
81 | + continue; | ||
82 | + } | ||
83 | + | ||
84 | + QString oldMd5 = QString(QCryptographicHash::hash(fileOld->readAll(),QCryptographicHash::Md5).toHex()); | ||
85 | + | ||
86 | + if ( oldMd5 != hashModulo ) { | ||
87 | + | ||
88 | + fileOld->rename(getApplicationDirPath().append("/").append(nomeModulo), | ||
89 | + getApplicationDirPath().append("/").append("nomeModulo").append("Old") ); | ||
90 | + | ||
91 | + // Download nova versão do executável | ||
92 | + QList<QMap<QString,QString> >::const_iterator metodosIterator = metodosDownload.constBegin(); | ||
93 | + bool downloadSucess = false; | ||
94 | + while ( !downloadSucess && metodosIterator != metodosDownload.constEnd() ) { | ||
95 | + | ||
96 | + if( metodosIterator->value("tipo") == "ftp" || metodosIterator->value("tipo") == "" ) { | ||
97 | + if ( OCacicComm->ftpDownload( metodosIterator->value("url"), metodosIterator->value("path") ) ) | ||
98 | + downloadSucess = true; | ||
99 | + | ||
100 | + } else if ( metodosIterator->value("tipo") == "http" ) { | ||
101 | + if( OCacicComm->httpDownload( metodosIterator->value("url"), metodosIterator->value("path") ) ) | ||
102 | + downloadSucess = true; | ||
103 | + } | ||
104 | + metodosIterator++; | ||
105 | + } | ||
106 | + fileOld->remove(); | ||
107 | + delete fileOld; | ||
108 | + } | ||
109 | + | ||
110 | + mapIterator++; | ||
111 | + } | ||
112 | + }else{ | ||
113 | + qDebug() << "getConfig() failed. - " + QDateTime::currentDateTime().toLocalTime().toString(); | ||
114 | + QLogger::QLog_Error("Cacic Daemon (Timer)", "Falha na obtenção do arquivo de configuração."); | ||
115 | + } | ||
116 | + }else{ | ||
117 | + qDebug() << "getTest() failed. - " + QDateTime::currentDateTime().toLocalTime().toString(); | ||
118 | + QLogger::QLog_Error("Cacic Daemon (Timer)", "Falha na execução do getTest()."); | ||
119 | + } | ||
120 | + | ||
35 | cMutex->unlock(); | 121 | cMutex->unlock(); |
36 | QLogger::QLog_Info("Cacic Daemon (Timer)", QString("Semáforo aberto.")); | 122 | QLogger::QLog_Info("Cacic Daemon (Timer)", QString("Semáforo aberto.")); |
37 | } | 123 | } |
38 | 124 | ||
39 | -// QLogger::QLog_Info("Cacic Timer", QString("semáforo aberto.")); | ||
40 | -// qDebug() << "getConfig() success. - " + QDateTime::currentDateTime().toLocalTime().toString(); | ||
41 | -// QLogger::QLog_Info("Cacic Daemon (Timer)", "getConfig() executado com sucesso."); | ||
42 | - | ||
43 | -// // Compara o novo arquivo de configuração com um antigo e se forem diferentes | ||
44 | -// // mantem o mais recente; caso iguais simplesmente apaga o novo. | ||
45 | -// QFile *fileOld; | ||
46 | -// QFile *fileNew; | ||
47 | - | ||
48 | -// fileOld = new QFile(getApplicationDirPath().append("/getConfig.json")); | ||
49 | -// fileNew = new QFile(getApplicationDirPath().append("/getConfigNew.json")); | ||
50 | -// if( fileOld->exists() && fileNew->exists() ){ | ||
51 | -// if( Md5IsEqual(QVariant::fromValue(fileOld), QVariant::fromValue(fileNew)) ) { | ||
52 | -// fileNew->remove(); | ||
53 | -// } else { | ||
54 | -// // Renomeia getConfigNew.json para getConfig.json | ||
55 | -// fileOld->remove(); | ||
56 | -// fileNew->rename("getConfigNew.json","getConfig.json"); | ||
57 | -// } | ||
58 | -// jsonConfig = ccacic->getJsonFromFile(getApplicationDirPath().append("/getConfig.json")); | ||
59 | -// } else if( fileOld->exists() ){ | ||
60 | -// jsonConfig = ccacic->getJsonFromFile(getApplicationDirPath().append("/getConfig.json")); | ||
61 | -// } else { | ||
62 | -// QLogger::QLog_Error("Cacic Daemon (Timer)", "Arquivo de configuração não criado."); | ||
63 | -// } | ||
64 | -// delete fileOld; | ||
65 | -// delete fileNew; | ||
66 | - | ||
67 | -// /* lê json de configurações e armazena quais módulos executáveis. | ||
68 | -// * E faz o mesmo tipo de comparação de hashs, com o fim de: | ||
69 | -// * ou mantem o binário do módulo ou baixa um novo. | ||
70 | -// */ | ||
71 | - | ||
72 | -// /* Aqui estou assumindo um formato do .json em que: | ||
73 | -// * há a key modulos contem uma lista com o nome dos executaveis e os seus valores hash md5 | ||
74 | -// * há a key metodo que explicita o método de download dos executaveis | ||
75 | -// */ | ||
76 | -// foreach( QJsonValue moduloValues, jsonConfig["modulos"].toArray() ) { | ||
77 | -// QString moduloKey, moduloValue; | ||
78 | - | ||
79 | -// moduloKey = moduloValues.toObject()["md5"].toString(); | ||
80 | -// moduloValue = moduloValues.toObject()["nome"].toString(); | ||
81 | - | ||
82 | -// moduleMap.insert(moduloKey, moduloValue); | ||
83 | -// } | ||
84 | -// metodoDownload = jsonConfig["metodo"].toString(); | ||
85 | - | ||
86 | -// int countExecNotFound = 0; | ||
87 | -// QMap<QString, QString>::const_iterator mapIterator = moduleMap.constBegin(); | ||
88 | -// while (mapIterator != moduleMap.constEnd()) { | ||
89 | -// QString nomeModulo = mapIterator.value(); | ||
90 | -// QString hashModulo = mapIterator.key(); | ||
91 | - | ||
92 | -// // Calcula hash do binario atual | ||
93 | -//#if defined(Q_OS_WIN) | ||
94 | -// fileOld = new QFile(getApplicationDirPath().append("/").append(modulo).append(".exe")); | ||
95 | -//#else | ||
96 | -// fileOld = new QFile(getApplicationDirPath().append("/").append(nomeModulo)); | ||
97 | -//#endif | ||
98 | -// if(!fileOld->exists()) { | ||
99 | -// QLogger::QLog_Error("Cacic Daemon (Timer)", QString("Módulo ").append(nomeModulo).append(" não encontrado.")); | ||
100 | - | ||
101 | -// countExecNotFound++; | ||
102 | -// if( countExecNotFound == moduleMap.size() ) { | ||
103 | -// QLogger::QLog_Error("Cacic Daemon (Timer)", "Não foi possível encontrar nenhum módulo executável!"); | ||
104 | -// return; | ||
105 | -// } | ||
106 | -// continue; | ||
107 | -// } | ||
108 | - | ||
109 | -// QString oldMd5 = QString(QCryptographicHash::hash(fileOld->readAll(),QCryptographicHash::Md5).toHex()); | ||
110 | - | ||
111 | -// if ( oldMd5 != hashModulo ) { | ||
112 | - | ||
113 | -// fileOld->rename(getApplicationDirPath().append("/").append(nomeModulo), | ||
114 | -// getApplicationDirPath().append("/").append("nomeModulo").append("Old") ); | ||
115 | - | ||
116 | -// // Download nova versão do executável | ||
117 | -// if(metodoDownload == "ftp" || metodoDownload == "") { | ||
118 | -// // OCacicComm->ftpDownload( QString("/ws/get/").append(nomeModulo) ); | ||
119 | -// } | ||
120 | - | ||
121 | - | ||
122 | -// fileOld->remove(); | ||
123 | -// delete fileOld; | ||
124 | -// } | ||
125 | - | ||
126 | -// mapIterator++; | ||
127 | -// } | ||
128 | -// }else{ | ||
129 | -// qDebug() << "getConfig() failed. - " + QDateTime::currentDateTime().toLocalTime().toString(); | ||
130 | -// QLogger::QLog_Error("Cacic Daemon (Timer)", "Falha na obtenção do arquivo de configuração."); | ||
131 | -// } | ||
132 | -// }else{ | ||
133 | -// qDebug() << "getTest() failed. - " + QDateTime::currentDateTime().toLocalTime().toString(); | ||
134 | -// QLogger::QLog_Error("Cacic Daemon (Timer)", "Falha na execução do getTest()."); | ||
135 | -// } | ||
136 | -// } | ||
137 | -// } | ||
138 | -//} | 125 | +QString CacicTimer::getApplicationDirPath() { |
126 | + return applicationDirPath; | ||
127 | +} | ||
139 | 128 | ||
140 | bool CacicTimer::getTest(){ | 129 | bool CacicTimer::getTest(){ |
141 | try{ | 130 | try{ |
@@ -181,7 +170,37 @@ bool CacicTimer::getConfig(){ | @@ -181,7 +170,37 @@ bool CacicTimer::getConfig(){ | ||
181 | } | 170 | } |
182 | } | 171 | } |
183 | 172 | ||
184 | -void CacicTimer::registraInicio() | 173 | +void CacicTimer::lerArquivoConfig ( const QJsonObject& jsonConfig ) |
174 | +{ | ||
175 | + /* lê json de configurações e armazena quais módulos executáveis. | ||
176 | + * E faz o mesmo tipo de comparação de hashs, com o fim de: | ||
177 | + * ou mantem o binário do módulo ou baixa um novo. | ||
178 | + * | ||
179 | + * Aqui estou assumindo um formato do .json em que: | ||
180 | + * há a key modulos contem uma lista com o nome dos executaveis e os seus valores hash md5 | ||
181 | + * há a key metodo que explicita o método de download dos executaveis | ||
182 | + */ | ||
183 | + foreach( QJsonValue individualModule, jsonConfig["modulos"].toArray() ) { | ||
184 | + QString moduloKey, moduloValue; | ||
185 | + | ||
186 | + moduloKey = individualModule.toObject()["hash"].toString(); | ||
187 | + moduloValue = individualModule.toObject()["nome"].toString(); | ||
188 | + | ||
189 | + moduleMap.insert(moduloKey, moduloValue); | ||
190 | + } | ||
191 | + | ||
192 | + foreach (QJsonValue individualMetodo, jsonConfig["metodoDownload"].toArray() ) { | ||
193 | + QMap<QString, QString> newEntry; | ||
194 | + | ||
195 | + newEntry.insert(QString("tipo"), individualMetodo.toObject()["tipo"].toString() ); | ||
196 | + newEntry.insert(QString("url"), individualMetodo.toObject()["url"].toString() ); | ||
197 | + newEntry.insert(QString("path"), individualMetodo.toObject()["path"].toString() ); | ||
198 | + | ||
199 | + metodosDownload.append( newEntry ); | ||
200 | + } | ||
201 | +} | ||
202 | + | ||
203 | +void CacicTimer::registraInicioColeta() | ||
185 | { | 204 | { |
186 | QLogger::QLog_Info("Cacic Daemon (Timer)","Coleta iniciada em: " + QDateTime::currentDateTime().toLocalTime().toString()); | 205 | QLogger::QLog_Info("Cacic Daemon (Timer)","Coleta iniciada em: " + QDateTime::currentDateTime().toLocalTime().toString()); |
187 | } | 206 | } |
@@ -199,17 +218,17 @@ void CacicTimer::setDirProgram(const QString &value) | @@ -199,17 +218,17 @@ void CacicTimer::setDirProgram(const QString &value) | ||
199 | 218 | ||
200 | void CacicTimer::iniciarGercols() | 219 | void CacicTimer::iniciarGercols() |
201 | { | 220 | { |
202 | - registraInicio(); | 221 | + registraInicioColeta(); |
203 | QDir::setCurrent(this->applicationDirPath); | 222 | QDir::setCurrent(this->applicationDirPath); |
204 | QProcess proc; | 223 | QProcess proc; |
205 | proc.setWorkingDirectory(this->applicationDirPath); | 224 | proc.setWorkingDirectory(this->applicationDirPath); |
206 | proc.execute(getDirProgram()); | 225 | proc.execute(getDirProgram()); |
207 | if((proc.atEnd()) && (proc.exitStatus() == QProcess::NormalExit)){ | 226 | if((proc.atEnd()) && (proc.exitStatus() == QProcess::NormalExit)){ |
208 | - registraFim("SUCESSO"); | 227 | + registraFimColeta("SUCESSO"); |
209 | }else{ | 228 | }else{ |
210 | proc.waitForFinished(120000); | 229 | proc.waitForFinished(120000); |
211 | if((!proc.atEnd()) || (proc.exitStatus() == QProcess::CrashExit)){ | 230 | if((!proc.atEnd()) || (proc.exitStatus() == QProcess::CrashExit)){ |
212 | - registraFim("ERRO"); | 231 | + registraFimColeta("ERRO"); |
213 | proc.kill(); | 232 | proc.kill(); |
214 | } | 233 | } |
215 | } | 234 | } |
@@ -221,7 +240,7 @@ void CacicTimer::setApplicationDirPath(const QString &value) | @@ -221,7 +240,7 @@ void CacicTimer::setApplicationDirPath(const QString &value) | ||
221 | } | 240 | } |
222 | 241 | ||
223 | 242 | ||
224 | -void CacicTimer::registraFim(QString msg) | 243 | +void CacicTimer::registraFimColeta(QString msg) |
225 | { | 244 | { |
226 | QLogger::QLog_Info("Cacic Daemon (Timer)","Coleta finalizada com " + msg + " em: " + QDateTime::currentDateTime().toLocalTime().toString()); | 245 | QLogger::QLog_Info("Cacic Daemon (Timer)","Coleta finalizada com " + msg + " em: " + QDateTime::currentDateTime().toLocalTime().toString()); |
227 | } | 246 | } |
cacic-daemon/cacicD/cacictimer.h
@@ -24,16 +24,18 @@ public: | @@ -24,16 +24,18 @@ public: | ||
24 | CACIC_Computer OCacic_Computer; | 24 | CACIC_Computer OCacic_Computer; |
25 | CCacic *ccacic; | 25 | CCacic *ccacic; |
26 | QMutex *cMutex; | 26 | QMutex *cMutex; |
27 | + | ||
27 | void iniciarTimer(int x); | 28 | void iniciarTimer(int x); |
28 | bool getTest(); | 29 | bool getTest(); |
29 | bool getConfig(); | 30 | bool getConfig(); |
30 | bool Md5IsEqual(QVariant document01,QVariant document02); | 31 | bool Md5IsEqual(QVariant document01,QVariant document02); |
31 | void setApplicationDirPath(const QString &value); | 32 | void setApplicationDirPath(const QString &value); |
33 | + QString getApplicationDirPath(); | ||
32 | void setDirProgram(const QString &value); | 34 | void setDirProgram(const QString &value); |
33 | 35 | ||
34 | private: | 36 | private: |
35 | - void registraFim(QString msg); | ||
36 | - void registraInicio(); | 37 | + void registraFimColeta(QString msg); |
38 | + void registraInicioColeta(); | ||
37 | QLogger::QLoggerManager *logManager; | 39 | QLogger::QLoggerManager *logManager; |
38 | QString dirProgram; | 40 | QString dirProgram; |
39 | //QProcess *myProcess; | 41 | //QProcess *myProcess; |
@@ -41,9 +43,11 @@ private: | @@ -41,9 +43,11 @@ private: | ||
41 | QString getDirProgram() const; | 43 | QString getDirProgram() const; |
42 | void iniciarGercols(); | 44 | void iniciarGercols(); |
43 | void iniciarInstancias(); | 45 | void iniciarInstancias(); |
46 | + void lerArquivoConfig( const QJsonObject &jsonConfig); | ||
44 | void definirDirGercols(QString appDirPath); | 47 | void definirDirGercols(QString appDirPath); |
45 | QJsonObject jsonConfig; | 48 | QJsonObject jsonConfig; |
46 | - QString metodoDownload; | 49 | + |
50 | + QList<QMap<QString,QString> > metodosDownload; | ||
47 | QMap<QString, QString> moduleMap; // key = hash md5, value = nome do modulo | 51 | QMap<QString, QString> moduleMap; // key = hash md5, value = nome do modulo |
48 | 52 | ||
49 | private slots: | 53 | private slots: |
src/cacic_comm.h
@@ -161,6 +161,19 @@ public: | @@ -161,6 +161,19 @@ public: | ||
161 | url.setScheme("ftp"); | 161 | url.setScheme("ftp"); |
162 | url.setPath(path); | 162 | url.setPath(path); |
163 | 163 | ||
164 | + return false; | ||
165 | + } | ||
166 | + | ||
167 | + bool ftpDownload(QString urlServer, QString path){ | ||
168 | + QUrl url(urlServer); | ||
169 | + url.setScheme("ftp"); | ||
170 | + url.setPath(path); | ||
171 | + | ||
172 | + return false; | ||
173 | + } | ||
174 | + | ||
175 | + bool httpDownload( QString urlServer, QString path ){ | ||
176 | + return false; | ||
164 | } | 177 | } |
165 | 178 | ||
166 | QString getUrlSsl (){ | 179 | QString getUrlSsl (){ |