Commit f32634f6cb033d933b33b23410c7fcbbf954edcc
1 parent
a04f5df4
Exists in
master
Modificação do instalador e testes.
Showing
6 changed files
with
51 additions
and
26 deletions
Show diff stats
cacic-teste/testcacic.cpp
| @@ -326,6 +326,7 @@ void CTestCacic::testEnviaColeta() | @@ -326,6 +326,7 @@ void CTestCacic::testEnviaColeta() | ||
| 326 | { | 326 | { |
| 327 | bool ok; | 327 | bool ok; |
| 328 | QJsonObject coletaEnvio = oColeta.toJsonObject(); | 328 | QJsonObject coletaEnvio = oColeta.toJsonObject(); |
| 329 | + OCacic.setJsonToFile(oColeta.toJsonObject(), "coleta.json"); | ||
| 329 | // qDebug() << coletaEnvio; | 330 | // qDebug() << coletaEnvio; |
| 330 | qDebug() << OCacicComm->comm("/ws/neo/coleta", &ok, coletaEnvio, true); | 331 | qDebug() << OCacicComm->comm("/ws/neo/coleta", &ok, coletaEnvio, true); |
| 331 | QVERIFY(ok); | 332 | QVERIFY(ok); |
install-cacic/installcacic.cpp
| @@ -39,14 +39,15 @@ void InstallCacic::run(QStringList argv, int argc) { | @@ -39,14 +39,15 @@ void InstallCacic::run(QStringList argv, int argc) { | ||
| 39 | jsonComm["computador"] = oCacicComputer.toJsonObject(); | 39 | jsonComm["computador"] = oCacicComputer.toJsonObject(); |
| 40 | QJsonObject configs = oCacicComm->comm("/ws/neo/config", &ok, jsonComm); | 40 | QJsonObject configs = oCacicComm->comm("/ws/neo/config", &ok, jsonComm); |
| 41 | if (ok){ | 41 | if (ok){ |
| 42 | - oCacicComm->setUrlGerente(configs["reply"].toObject()["applicationUrl"].toString()); | 42 | + QJsonObject configsJson = configs["reply"].toObject(); |
| 43 | + oCacicComm->setUrlGerente(configsJson["applicationUrl"].toString()); | ||
| 43 | #ifdef Q_OS_WIN | 44 | #ifdef Q_OS_WIN |
| 44 | - oCacic.setCacicMainFolder(configs["reply"].toObject()["cacic_main_folder"].isString() ? | ||
| 45 | - configs["reply"].toObject()["cacic_main_folder"].toString() : | 45 | + oCacic.setCacicMainFolder(configsJson["cacic_main_folder"].isString() ? |
| 46 | + configsJson["cacic_main_folder"].toString() : | ||
| 46 | "c:/cacic/"); | 47 | "c:/cacic/"); |
| 47 | #elif defined(Q_OS_LINUX) | 48 | #elif defined(Q_OS_LINUX) |
| 48 | - oCacic.setCacicMainFolder(configs["reply"].toObject()["cacic_main_folder"].isString() ? | ||
| 49 | - configs["reply"].toObject()["cacic_main_folder"].toString() : | 49 | + oCacic.setCacicMainFolder(configsJson["cacic_main_folder"].isString() ? |
| 50 | + configsJson["cacic_main_folder"].toString() : | ||
| 50 | "/usr/cacic"); | 51 | "/usr/cacic"); |
| 51 | #endif | 52 | #endif |
| 52 | 53 | ||
| @@ -59,28 +60,43 @@ void InstallCacic::run(QStringList argv, int argc) { | @@ -59,28 +60,43 @@ void InstallCacic::run(QStringList argv, int argc) { | ||
| 59 | //starta o processo do cacic. | 60 | //starta o processo do cacic. |
| 60 | 61 | ||
| 61 | //TO DO: Fazer download do serviço | 62 | //TO DO: Fazer download do serviço |
| 63 | + QJsonObject metodoDownload; | ||
| 64 | + metodoDownload = configsJson["agentcomputer"].toObject()["metodoDownload"].toObject(); | ||
| 62 | #ifdef Q_OS_WIN | 65 | #ifdef Q_OS_WIN |
| 63 | - oCacicComm->ftpDownload("agentes/cacic-service.exe", oCacic.getCacicMainFolder()); | 66 | + oCacicComm->fileDownload(metodoDownload["tipo"].toString(), |
| 67 | + metodoDownload["url"].toString(), | ||
| 68 | + metodoDownload["path"].toString() + "/cacic-service.exe", | ||
| 69 | + oCacic.getCacicMainFolder()); | ||
| 64 | 70 | ||
| 65 | - QString exitStatus = oCacic.startProcess(oCacic.getCacicMainFolder() + "cacic-service.exe", | 71 | + QString exitStatus = oCacic.startProcess(oCacic.getCacicMainFolder() + "/cacic-service.exe", |
| 66 | false, | 72 | false, |
| 67 | &ok, | 73 | &ok, |
| 68 | QStringList("-install"); | 74 | QStringList("-install"); |
| 69 | #else | 75 | #else |
| 70 | - oCacicComm->ftpDownload("agentes/cacic-service", oCacic.getCacicMainFolder()); | ||
| 71 | 76 | ||
| 72 | - QJsonObject configsJson = configs["reply"].toObject(); | ||
| 73 | - QString senhaAgente; | ||
| 74 | - if ( !configsJson["te_senha_adm_agente"].isNull() ) | ||
| 75 | - senhaAgente = configsJson["te_senha_adm_agente"].toString(); | ||
| 76 | - else | ||
| 77 | - senhaAgente = QString("ADMINCACIC"); | 77 | + oCacicComm->fileDownload(metodoDownload["tipo"].toString(), |
| 78 | + metodoDownload["url"].toString(), | ||
| 79 | + metodoDownload["path"].toString() + "/cacic-service", | ||
| 80 | + oCacic.getCacicMainFolder()); | ||
| 81 | + | ||
| 82 | + oCacicComm->fileDownload(metodoDownload["tipo"].toString(), | ||
| 83 | + metodoDownload["url"].toString(), | ||
| 84 | + metodoDownload["path"].toString() + "/cacic-script.sh", | ||
| 85 | + oCacic.getCacicMainFolder()); | ||
| 86 | + | ||
| 87 | + QFile fileScript(oCacic.getCacicMainFolder()+"/cacic-script.sh"); | ||
| 88 | + QFile fileService(oCacic.getCacicMainFolder()+"/cacic-service"); | ||
| 89 | + if ((!fileScript.exists() || !fileScript.size() > 0) && | ||
| 90 | + (!fileService.exists() || !fileService.size() > 0)) { | ||
| 91 | + this->uninstall(); | ||
| 92 | + return; | ||
| 93 | + } | ||
| 94 | + fileScript.close(); | ||
| 95 | + fileService.close(); | ||
| 78 | 96 | ||
| 79 | QStringList arguments; | 97 | QStringList arguments; |
| 80 | - arguments.append(QString("-install")); | ||
| 81 | - arguments.append(QString("cacic")); | ||
| 82 | - arguments.append(senhaAgente); | ||
| 83 | - QString exitStatus = oCacic.startProcess(oCacic.getCacicMainFolder() + "cacic-service", | 98 | + arguments.append(QString("start")); |
| 99 | + QString exitStatus = oCacic.startProcess("/etc/init.d/cacic", | ||
| 84 | false, | 100 | false, |
| 85 | &ok, | 101 | &ok, |
| 86 | arguments); | 102 | arguments); |
| @@ -91,6 +107,7 @@ void InstallCacic::run(QStringList argv, int argc) { | @@ -91,6 +107,7 @@ void InstallCacic::run(QStringList argv, int argc) { | ||
| 91 | else { | 107 | else { |
| 92 | std::cout << "Instalação realizada com sucesso." << "\n"; | 108 | std::cout << "Instalação realizada com sucesso." << "\n"; |
| 93 | } | 109 | } |
| 110 | + | ||
| 94 | } else { | 111 | } else { |
| 95 | std::cout << "Falha ao pegar configurações: " << configs["error"].toString().toStdString() << "\n"; | 112 | std::cout << "Falha ao pegar configurações: " << configs["error"].toString().toStdString() << "\n"; |
| 96 | } | 113 | } |
| @@ -100,9 +117,7 @@ void InstallCacic::run(QStringList argv, int argc) { | @@ -100,9 +117,7 @@ void InstallCacic::run(QStringList argv, int argc) { | ||
| 100 | << " Código: " << jsonLogin["codestatus"].toString().toStdString() << "\n" | 117 | << " Código: " << jsonLogin["codestatus"].toString().toStdString() << "\n" |
| 101 | << " " << jsonLogin["error"].toString().toStdString() << "\n"; | 118 | << " " << jsonLogin["error"].toString().toStdString() << "\n"; |
| 102 | } else if ((param.contains("default")) && (param["default"] == "uninstall")){ | 119 | } else if ((param.contains("default")) && (param["default"] == "uninstall")){ |
| 103 | - oCacic.deleteFolder("c:/cacic"); | ||
| 104 | - oCacic.removeRegistry("Lightbase", "Cacic"); | ||
| 105 | - std::cout << "Cacic desinstalado com sucesso.\n"; | 120 | + this->uninstall(); |
| 106 | } else { | 121 | } else { |
| 107 | std::cout << "\nInstalador do Agente Cacic.\n\n" | 122 | std::cout << "\nInstalador do Agente Cacic.\n\n" |
| 108 | << "Parametros incorretos. (<obrigatorios> [opcional])\n\n" | 123 | << "Parametros incorretos. (<obrigatorios> [opcional])\n\n" |
| @@ -135,6 +150,14 @@ QMap<QString, QString> InstallCacic::validaParametros(QStringList argv, int argc | @@ -135,6 +150,14 @@ QMap<QString, QString> InstallCacic::validaParametros(QStringList argv, int argc | ||
| 135 | return map; | 150 | return map; |
| 136 | } | 151 | } |
| 137 | 152 | ||
| 153 | +void InstallCacic::uninstall() | ||
| 154 | +{ | ||
| 155 | + oCacic.deleteFolder("c:/cacic"); | ||
| 156 | + oCacic.removeRegistry("Lightbase", "Cacic"); | ||
| 157 | + std::cout << "\nCacic desinstalado com sucesso.\n"; | ||
| 158 | + emit finished(); | ||
| 159 | +} | ||
| 160 | + | ||
| 138 | QMap<QString, QString> InstallCacic::getArgumentos() | 161 | QMap<QString, QString> InstallCacic::getArgumentos() |
| 139 | { | 162 | { |
| 140 | return argumentos; | 163 | return argumentos; |
install-cacic/installcacic.h
| @@ -24,6 +24,7 @@ public: | @@ -24,6 +24,7 @@ public: | ||
| 24 | void registro(); | 24 | void registro(); |
| 25 | 25 | ||
| 26 | private: | 26 | private: |
| 27 | + void uninstall(); | ||
| 27 | QMap<QString, QString> argumentos; | 28 | QMap<QString, QString> argumentos; |
| 28 | CacicComm *oCacicComm; | 29 | CacicComm *oCacicComm; |
| 29 | CACIC_Computer oCacicComputer; | 30 | CACIC_Computer oCacicComputer; |
src/cacic_comm.cpp
| @@ -192,7 +192,7 @@ bool CacicComm::fileDownload(const QString &mode, const QString &urlServer, cons | @@ -192,7 +192,7 @@ bool CacicComm::fileDownload(const QString &mode, const QString &urlServer, cons | ||
| 192 | 192 | ||
| 193 | QStringList splitPath = path.split("/"); | 193 | QStringList splitPath = path.split("/"); |
| 194 | 194 | ||
| 195 | - fileHandler = new QFile(pathDownload + splitPath[splitPath.size() - 1]); | 195 | + fileHandler = new QFile(pathDownload + "/" + splitPath[splitPath.size() - 1]); |
| 196 | if( !fileHandler->open(QIODevice::WriteOnly) ) { | 196 | if( !fileHandler->open(QIODevice::WriteOnly) ) { |
| 197 | qDebug() << "ftpDownload: fileHandler nâo pode abrir arquivo."; | 197 | qDebug() << "ftpDownload: fileHandler nâo pode abrir arquivo."; |
| 198 | return false; | 198 | return false; |
src/cacic_comm.h
| @@ -31,6 +31,9 @@ public: | @@ -31,6 +31,9 @@ public: | ||
| 31 | bool ftpDownload(const QString &urlServer, const QString &path, const QString &pathDownload); | 31 | bool ftpDownload(const QString &urlServer, const QString &path, const QString &pathDownload); |
| 32 | bool httpDownload(const QString &path, const QString &pathDownload); | 32 | bool httpDownload(const QString &path, const QString &pathDownload); |
| 33 | bool httpDownload(const QString &urlServer, const QString &path,const QString &pathDownload); | 33 | bool httpDownload(const QString &urlServer, const QString &path,const QString &pathDownload); |
| 34 | + bool fileDownload(const QString &mode, const QString &path, const QString &pathDownload); | ||
| 35 | + bool fileDownload(const QString &mode, const QString &urlServer, const QString &path, const QString &pathDownload); | ||
| 36 | + | ||
| 34 | QString getUrlSsl (); | 37 | QString getUrlSsl (); |
| 35 | void setUrlSsl(const QString &value); | 38 | void setUrlSsl(const QString &value); |
| 36 | QString getUrlGerente (); | 39 | QString getUrlGerente (); |
| @@ -53,9 +56,6 @@ private slots: | @@ -53,9 +56,6 @@ private slots: | ||
| 53 | 56 | ||
| 54 | private: | 57 | private: |
| 55 | 58 | ||
| 56 | - bool fileDownload(const QString &mode, const QString &path, const QString &pathDownload); | ||
| 57 | - bool fileDownload(const QString &mode, const QString &urlServer, const QString &path, const QString &pathDownload); | ||
| 58 | - | ||
| 59 | QUrlQuery params; | 59 | QUrlQuery params; |
| 60 | QString urlGerente; | 60 | QString urlGerente; |
| 61 | QString urlSsl; | 61 | QString urlSsl; |
src/ccoleta.cpp
| @@ -65,8 +65,8 @@ QJsonObject CColeta::toJsonObject() | @@ -65,8 +65,8 @@ QJsonObject CColeta::toJsonObject() | ||
| 65 | QJsonObject coletaJson; | 65 | QJsonObject coletaJson; |
| 66 | if (this->hardwareIsFinish && this->softwareIsFinish){ | 66 | if (this->hardwareIsFinish && this->softwareIsFinish){ |
| 67 | coletaJson["computador"] = oComputer.toJsonObject(); | 67 | coletaJson["computador"] = oComputer.toJsonObject(); |
| 68 | - coletaJson["software"] = oSoftware.toJsonObject(); | ||
| 69 | coletaJson["hardware"] = oHardware.toJsonObject(); | 68 | coletaJson["hardware"] = oHardware.toJsonObject(); |
| 69 | + coletaJson["software"] = oSoftware.toJsonObject(); | ||
| 70 | } | 70 | } |
| 71 | return coletaJson; | 71 | return coletaJson; |
| 72 | } | 72 | } |