diff --git a/cacic-teste/testcacic.cpp b/cacic-teste/testcacic.cpp index 9b85316..6caf137 100644 --- a/cacic-teste/testcacic.cpp +++ b/cacic-teste/testcacic.cpp @@ -96,6 +96,8 @@ void CTestCacic::testConsole() ConsoleObject console; #if defined(Q_OS_LINUX) QVERIFY(console("echo teste").toStdString() == "teste\n"); +#elif defined(Q_OS_WIN) + QVERIFY(console("echo teste").toStdString() == "teste"); #else QVERIFY(false); #endif @@ -163,6 +165,7 @@ void CTestCacic::testInstallCacicStart() void CTestCacic::testCacicCompToJsonObject() { +// qDebug() << OCacicComp.toJsonObject(); QVERIFY(!OCacicComp.toJsonObject().empty()); } @@ -183,6 +186,18 @@ void CTestCacic::testJsonFromFile() QVERIFY(OCacic.getJsonFromFile("teste.json")["teste"].toString() == "teste"); } +void CTestCacic::testStartService() +{ + bool ok; + QString exitStatus; +#ifdef Q_OS_WIN + exitStatus = OCacic.startProcess("../../install-cacic/debug/install-cacic.exe", true, &ok); +#else + exitStatus = OCacic.startProcess("../../install-cacic/debug/install-cacic", &ok); +#endif + QVERIFY(ok); +} + void CTestCacic::cleanupTestCase() { OCacic.deleteFile("teste.json"); diff --git a/cacic-teste/testcacic.h b/cacic-teste/testcacic.h index 0955614..223f855 100644 --- a/cacic-teste/testcacic.h +++ b/cacic-teste/testcacic.h @@ -57,6 +57,7 @@ private slots: void testOperatingSystemToJsonObject(); void testJsonToFile(); void testJsonFromFile(); + void testStartService(); void cleanupTestCase(); }; diff --git a/install-cacic/install-cacic.pro.user b/install-cacic/install-cacic.pro.user index 20f8668..0592233 100644 --- a/install-cacic/install-cacic.pro.user +++ b/install-cacic/install-cacic.pro.user @@ -1,6 +1,6 @@ - + ProjectExplorer.Project.ActiveTarget diff --git a/install-cacic/installcacic.cpp b/install-cacic/installcacic.cpp index 497ebcc..63f9800 100644 --- a/install-cacic/installcacic.cpp +++ b/install-cacic/installcacic.cpp @@ -7,7 +7,6 @@ InstallCacic::InstallCacic(QObject *parent) : } void InstallCacic::run(QStringList argv, int argc) { - QMap args; bool ok; //valida os parametros repassados validaParametros(argv, argc, &ok); @@ -28,6 +27,18 @@ void InstallCacic::run(QStringList argv, int argc) { configToSave["chaveCrypt"] = QJsonValue::fromVariant(oCacic.getChaveCrypt()); configJson["configs"] = configToSave; oCacic.setJsonToFile(configJson, oCacic.getCacicMainFolder() + "/cacicTeste.json"); + + //starta o processo do cacic. +#ifdef Q_OS_WIN + QString exitStatus = oCacic.startProcess("cacic.exe", true, &ok); + if (!ok) + std::cout << "Erro ao iniciar o processo: " + << exitStatus.toStdString() << "\n"; +#else + oCacic.startProcess("cacic.exe", true, &ok); + if (!ok) + qDebug() << "Erro ao iniciar o processo."; +#endif } else std::cout << "Nao foi possivel realizar o login.\n " diff --git a/install-cacic/installcacic.h b/install-cacic/installcacic.h index 8a18924..d617b63 100644 --- a/install-cacic/installcacic.h +++ b/install-cacic/installcacic.h @@ -17,6 +17,7 @@ public: QMap getArgumentos(); void setArgumentos(QMap value); QMap validaParametros(QStringList argv, int argc, bool *ok); + bool startProcess(QString pathprogram, bool wait, QStringList arguments); private: QMap argumentos; diff --git a/src/cacic_computer.cpp b/src/cacic_computer.cpp index e685a78..6842b35 100644 --- a/src/cacic_computer.cpp +++ b/src/cacic_computer.cpp @@ -52,12 +52,12 @@ QList CACIC_Computer::networkInterfacesRunning(){ QJsonObject CACIC_Computer::toJsonObject() { QJsonObject json; - QJsonObject network; + QJsonArray network; int count = 1; json["usuario"] = QJsonValue::fromVariant(QString::fromStdString(this->usuario)); json["operatingSystem"] = this->oOperatingSystem.toJsonObject(); foreach(QVariantMap auxMap, this->getNetworkInterface()){ - network["network" + QVariant::fromValue(count).toString()] = QJsonObject::fromVariantMap(auxMap); + network.append(QJsonObject::fromVariantMap(auxMap)); count++; } json["networkDevices"] = network; diff --git a/src/ccacic.cpp b/src/ccacic.cpp index e0fbe48..1e6c083 100644 --- a/src/ccacic.cpp +++ b/src/ccacic.cpp @@ -196,6 +196,13 @@ QString CCacic::deCrypt(std::string str_in, std::string iv) { return QString::fromStdString(str_out); } +QString CCacic::startProcess(QString pathprogram, bool wait, bool *ok, QStringList arguments) +{ + QProcess process; + arguments.empty() ? process.start(pathprogram) : process.start(pathprogram, arguments); + *ok = wait ? process.waitForFinished() : process.waitForStarted(); + return process.errorString(); +} /*Getters/Setters * Begin: diff --git a/src/ccacic.h b/src/ccacic.h index f777195..ab4143b 100644 --- a/src/ccacic.h +++ b/src/ccacic.h @@ -2,6 +2,7 @@ #define CCACIC_H #include +#include #include #include #include @@ -34,6 +35,7 @@ public: QJsonValue jsonValueFromJsonString(QString json, QString key); bool setJsonToFile(QJsonObject json, QString filepath); QJsonObject getJsonFromFile(QString filepath); + QString startProcess(QString pathprogram, bool wait, bool *ok, QStringList arguments = QStringList()); //Geters/seters: diff --git a/src/console.h b/src/console.h index 5cd4377..0f4dd36 100644 --- a/src/console.h +++ b/src/console.h @@ -21,7 +21,7 @@ public: options << "-c" << QString::fromStdString(input); process->start("/bin/sh", options); #elif defined(Q_OS_WIN) - process->start(input); + process->start(QString::fromStdString(input)); #endif process->waitForFinished(); QString output = process->readAll(); diff --git a/src/operatingsystem.cpp b/src/operatingsystem.cpp index 937b288..18a295b 100644 --- a/src/operatingsystem.cpp +++ b/src/operatingsystem.cpp @@ -38,7 +38,7 @@ int OperatingSystem::coletaIdOs(){ } #else - return 0; + return -1; #endif } -- libgit2 0.21.2