Commit 838ed1baeb8de3db1acb6b2634e8bd95453bb5d1
1 parent
845fdf99
Exists in
master
Criacao do metodo para iniciar processo. Correcao do Json do computador. Pequenos refinamentos
Showing
10 changed files
with
43 additions
and
6 deletions
Show diff stats
cacic-teste/testcacic.cpp
| ... | ... | @@ -96,6 +96,8 @@ void CTestCacic::testConsole() |
| 96 | 96 | ConsoleObject console; |
| 97 | 97 | #if defined(Q_OS_LINUX) |
| 98 | 98 | QVERIFY(console("echo teste").toStdString() == "teste\n"); |
| 99 | +#elif defined(Q_OS_WIN) | |
| 100 | + QVERIFY(console("echo teste").toStdString() == "teste"); | |
| 99 | 101 | #else |
| 100 | 102 | QVERIFY(false); |
| 101 | 103 | #endif |
| ... | ... | @@ -163,6 +165,7 @@ void CTestCacic::testInstallCacicStart() |
| 163 | 165 | |
| 164 | 166 | void CTestCacic::testCacicCompToJsonObject() |
| 165 | 167 | { |
| 168 | +// qDebug() << OCacicComp.toJsonObject(); | |
| 166 | 169 | QVERIFY(!OCacicComp.toJsonObject().empty()); |
| 167 | 170 | } |
| 168 | 171 | |
| ... | ... | @@ -183,6 +186,18 @@ void CTestCacic::testJsonFromFile() |
| 183 | 186 | QVERIFY(OCacic.getJsonFromFile("teste.json")["teste"].toString() == "teste"); |
| 184 | 187 | } |
| 185 | 188 | |
| 189 | +void CTestCacic::testStartService() | |
| 190 | +{ | |
| 191 | + bool ok; | |
| 192 | + QString exitStatus; | |
| 193 | +#ifdef Q_OS_WIN | |
| 194 | + exitStatus = OCacic.startProcess("../../install-cacic/debug/install-cacic.exe", true, &ok); | |
| 195 | +#else | |
| 196 | + exitStatus = OCacic.startProcess("../../install-cacic/debug/install-cacic", &ok); | |
| 197 | +#endif | |
| 198 | + QVERIFY(ok); | |
| 199 | +} | |
| 200 | + | |
| 186 | 201 | void CTestCacic::cleanupTestCase() |
| 187 | 202 | { |
| 188 | 203 | OCacic.deleteFile("teste.json"); | ... | ... |
cacic-teste/testcacic.h
install-cacic/install-cacic.pro.user
install-cacic/installcacic.cpp
| ... | ... | @@ -7,7 +7,6 @@ InstallCacic::InstallCacic(QObject *parent) : |
| 7 | 7 | } |
| 8 | 8 | |
| 9 | 9 | void InstallCacic::run(QStringList argv, int argc) { |
| 10 | - QMap<QString, QString> args; | |
| 11 | 10 | bool ok; |
| 12 | 11 | //valida os parametros repassados |
| 13 | 12 | validaParametros(argv, argc, &ok); |
| ... | ... | @@ -28,6 +27,18 @@ void InstallCacic::run(QStringList argv, int argc) { |
| 28 | 27 | configToSave["chaveCrypt"] = QJsonValue::fromVariant(oCacic.getChaveCrypt()); |
| 29 | 28 | configJson["configs"] = configToSave; |
| 30 | 29 | oCacic.setJsonToFile(configJson, oCacic.getCacicMainFolder() + "/cacicTeste.json"); |
| 30 | + | |
| 31 | + //starta o processo do cacic. | |
| 32 | +#ifdef Q_OS_WIN | |
| 33 | + QString exitStatus = oCacic.startProcess("cacic.exe", true, &ok); | |
| 34 | + if (!ok) | |
| 35 | + std::cout << "Erro ao iniciar o processo: " | |
| 36 | + << exitStatus.toStdString() << "\n"; | |
| 37 | +#else | |
| 38 | + oCacic.startProcess("cacic.exe", true, &ok); | |
| 39 | + if (!ok) | |
| 40 | + qDebug() << "Erro ao iniciar o processo."; | |
| 41 | +#endif | |
| 31 | 42 | } |
| 32 | 43 | else |
| 33 | 44 | std::cout << "Nao foi possivel realizar o login.\n " | ... | ... |
install-cacic/installcacic.h
| ... | ... | @@ -17,6 +17,7 @@ public: |
| 17 | 17 | QMap<QString, QString> getArgumentos(); |
| 18 | 18 | void setArgumentos(QMap<QString, QString> value); |
| 19 | 19 | QMap<QString, QString> validaParametros(QStringList argv, int argc, bool *ok); |
| 20 | + bool startProcess(QString pathprogram, bool wait, QStringList arguments); | |
| 20 | 21 | |
| 21 | 22 | private: |
| 22 | 23 | QMap<QString, QString> argumentos; | ... | ... |
src/cacic_computer.cpp
| ... | ... | @@ -52,12 +52,12 @@ QList<QVariantMap> CACIC_Computer::networkInterfacesRunning(){ |
| 52 | 52 | QJsonObject CACIC_Computer::toJsonObject() |
| 53 | 53 | { |
| 54 | 54 | QJsonObject json; |
| 55 | - QJsonObject network; | |
| 55 | + QJsonArray network; | |
| 56 | 56 | int count = 1; |
| 57 | 57 | json["usuario"] = QJsonValue::fromVariant(QString::fromStdString(this->usuario)); |
| 58 | 58 | json["operatingSystem"] = this->oOperatingSystem.toJsonObject(); |
| 59 | 59 | foreach(QVariantMap auxMap, this->getNetworkInterface()){ |
| 60 | - network["network" + QVariant::fromValue(count).toString()] = QJsonObject::fromVariantMap(auxMap); | |
| 60 | + network.append(QJsonObject::fromVariantMap(auxMap)); | |
| 61 | 61 | count++; |
| 62 | 62 | } |
| 63 | 63 | json["networkDevices"] = network; | ... | ... |
src/ccacic.cpp
| ... | ... | @@ -196,6 +196,13 @@ QString CCacic::deCrypt(std::string str_in, std::string iv) { |
| 196 | 196 | return QString::fromStdString(str_out); |
| 197 | 197 | } |
| 198 | 198 | |
| 199 | +QString CCacic::startProcess(QString pathprogram, bool wait, bool *ok, QStringList arguments) | |
| 200 | +{ | |
| 201 | + QProcess process; | |
| 202 | + arguments.empty() ? process.start(pathprogram) : process.start(pathprogram, arguments); | |
| 203 | + *ok = wait ? process.waitForFinished() : process.waitForStarted(); | |
| 204 | + return process.errorString(); | |
| 205 | +} | |
| 199 | 206 | |
| 200 | 207 | /*Getters/Setters |
| 201 | 208 | * Begin: | ... | ... |
src/ccacic.h
| ... | ... | @@ -2,6 +2,7 @@ |
| 2 | 2 | #define CCACIC_H |
| 3 | 3 | |
| 4 | 4 | #include <QCoreApplication> |
| 5 | +#include <QProcess> | |
| 5 | 6 | #include <QObject> |
| 6 | 7 | #include <QFile> |
| 7 | 8 | #include <QSettings> |
| ... | ... | @@ -34,6 +35,7 @@ public: |
| 34 | 35 | QJsonValue jsonValueFromJsonString(QString json, QString key); |
| 35 | 36 | bool setJsonToFile(QJsonObject json, QString filepath); |
| 36 | 37 | QJsonObject getJsonFromFile(QString filepath); |
| 38 | + QString startProcess(QString pathprogram, bool wait, bool *ok, QStringList arguments = QStringList()); | |
| 37 | 39 | |
| 38 | 40 | //Geters/seters: |
| 39 | 41 | ... | ... |
src/console.h
| ... | ... | @@ -21,7 +21,7 @@ public: |
| 21 | 21 | options << "-c" << QString::fromStdString(input); |
| 22 | 22 | process->start("/bin/sh", options); |
| 23 | 23 | #elif defined(Q_OS_WIN) |
| 24 | - process->start(input); | |
| 24 | + process->start(QString::fromStdString(input)); | |
| 25 | 25 | #endif |
| 26 | 26 | process->waitForFinished(); |
| 27 | 27 | QString output = process->readAll(); | ... | ... |