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 | 326 | { |
| 327 | 327 | bool ok; |
| 328 | 328 | QJsonObject coletaEnvio = oColeta.toJsonObject(); |
| 329 | + OCacic.setJsonToFile(oColeta.toJsonObject(), "coleta.json"); | |
| 329 | 330 | // qDebug() << coletaEnvio; |
| 330 | 331 | qDebug() << OCacicComm->comm("/ws/neo/coleta", &ok, coletaEnvio, true); |
| 331 | 332 | QVERIFY(ok); | ... | ... |
install-cacic/installcacic.cpp
| ... | ... | @@ -39,14 +39,15 @@ void InstallCacic::run(QStringList argv, int argc) { |
| 39 | 39 | jsonComm["computador"] = oCacicComputer.toJsonObject(); |
| 40 | 40 | QJsonObject configs = oCacicComm->comm("/ws/neo/config", &ok, jsonComm); |
| 41 | 41 | if (ok){ |
| 42 | - oCacicComm->setUrlGerente(configs["reply"].toObject()["applicationUrl"].toString()); | |
| 42 | + QJsonObject configsJson = configs["reply"].toObject(); | |
| 43 | + oCacicComm->setUrlGerente(configsJson["applicationUrl"].toString()); | |
| 43 | 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 | 47 | "c:/cacic/"); |
| 47 | 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 | 51 | "/usr/cacic"); |
| 51 | 52 | #endif |
| 52 | 53 | |
| ... | ... | @@ -59,28 +60,43 @@ void InstallCacic::run(QStringList argv, int argc) { |
| 59 | 60 | //starta o processo do cacic. |
| 60 | 61 | |
| 61 | 62 | //TO DO: Fazer download do serviço |
| 63 | + QJsonObject metodoDownload; | |
| 64 | + metodoDownload = configsJson["agentcomputer"].toObject()["metodoDownload"].toObject(); | |
| 62 | 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 | 72 | false, |
| 67 | 73 | &ok, |
| 68 | 74 | QStringList("-install"); |
| 69 | 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 | 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 | 100 | false, |
| 85 | 101 | &ok, |
| 86 | 102 | arguments); |
| ... | ... | @@ -91,6 +107,7 @@ void InstallCacic::run(QStringList argv, int argc) { |
| 91 | 107 | else { |
| 92 | 108 | std::cout << "Instalação realizada com sucesso." << "\n"; |
| 93 | 109 | } |
| 110 | + | |
| 94 | 111 | } else { |
| 95 | 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 | 117 | << " Código: " << jsonLogin["codestatus"].toString().toStdString() << "\n" |
| 101 | 118 | << " " << jsonLogin["error"].toString().toStdString() << "\n"; |
| 102 | 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 | 121 | } else { |
| 107 | 122 | std::cout << "\nInstalador do Agente Cacic.\n\n" |
| 108 | 123 | << "Parametros incorretos. (<obrigatorios> [opcional])\n\n" |
| ... | ... | @@ -135,6 +150,14 @@ QMap<QString, QString> InstallCacic::validaParametros(QStringList argv, int argc |
| 135 | 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 | 161 | QMap<QString, QString> InstallCacic::getArgumentos() |
| 139 | 162 | { |
| 140 | 163 | return argumentos; | ... | ... |
install-cacic/installcacic.h
src/cacic_comm.cpp
| ... | ... | @@ -192,7 +192,7 @@ bool CacicComm::fileDownload(const QString &mode, const QString &urlServer, cons |
| 192 | 192 | |
| 193 | 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 | 196 | if( !fileHandler->open(QIODevice::WriteOnly) ) { |
| 197 | 197 | qDebug() << "ftpDownload: fileHandler nâo pode abrir arquivo."; |
| 198 | 198 | return false; | ... | ... |
src/cacic_comm.h
| ... | ... | @@ -31,6 +31,9 @@ public: |
| 31 | 31 | bool ftpDownload(const QString &urlServer, const QString &path, const QString &pathDownload); |
| 32 | 32 | bool httpDownload(const QString &path, const QString &pathDownload); |
| 33 | 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 | 37 | QString getUrlSsl (); |
| 35 | 38 | void setUrlSsl(const QString &value); |
| 36 | 39 | QString getUrlGerente (); |
| ... | ... | @@ -53,9 +56,6 @@ private slots: |
| 53 | 56 | |
| 54 | 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 | 59 | QUrlQuery params; |
| 60 | 60 | QString urlGerente; |
| 61 | 61 | QString urlSsl; | ... | ... |
src/ccoleta.cpp
| ... | ... | @@ -65,8 +65,8 @@ QJsonObject CColeta::toJsonObject() |
| 65 | 65 | QJsonObject coletaJson; |
| 66 | 66 | if (this->hardwareIsFinish && this->softwareIsFinish){ |
| 67 | 67 | coletaJson["computador"] = oComputer.toJsonObject(); |
| 68 | - coletaJson["software"] = oSoftware.toJsonObject(); | |
| 69 | 68 | coletaJson["hardware"] = oHardware.toJsonObject(); |
| 69 | + coletaJson["software"] = oSoftware.toJsonObject(); | |
| 70 | 70 | } |
| 71 | 71 | return coletaJson; |
| 72 | 72 | } | ... | ... |