diff --git a/cacic-teste/testcacic.cpp b/cacic-teste/testcacic.cpp index bf926a2..a0a7200 100644 --- a/cacic-teste/testcacic.cpp +++ b/cacic-teste/testcacic.cpp @@ -86,11 +86,19 @@ void CTestCacic::testInterfaceDeRede(){ } void CTestCacic::testpegarOS(){ - QVERIFY(OCacicComp.getOs() != 0); + QVERIFY(OCacicComp.getOs() == CACIC_Computer::WIN_XP || + OCacicComp.getOs() == CACIC_Computer::WIN_VISTA || + OCacicComp.getOs() == CACIC_Computer::WIN_7 || + OCacicComp.getOs() == CACIC_Computer::WIN_8 || + OCacicComp.getOs() == CACIC_Computer::WIN_8_1 || + OCacicComp.getOs() == CACIC_Computer::MAC || + OCacicComp.getOs() == CACIC_Computer::LINUX_DEBIAN || + OCacicComp.getOs() == CACIC_Computer::LINUX_UBUNTU || + OCacicComp.getOs() == CACIC_Computer::LINUX_ARCH ); } void CTestCacic::testPegarUsu(){ - QVERIFY(OCacicComp.getUsuario() != ""); + QVERIFY(OCacicComp.getUser() != ""); } void CTestCacic::testJsonValueFromJsonString() @@ -110,6 +118,7 @@ void CTestCacic::testSslConnection() { QJsonObject json = OCacicComm.comm("", QJsonObject(), true); QJsonValue jsonvalue = json["codestatus"]; +// qDebug() << jsonvalue.toDouble(); QVERIFY(jsonvalue.toDouble() == 200 || jsonvalue.toDouble() == 302); } diff --git a/src/cacic_computer.cpp b/src/cacic_computer.cpp index 71f65a0..83ea13d 100644 --- a/src/cacic_computer.cpp +++ b/src/cacic_computer.cpp @@ -70,24 +70,32 @@ QJsonObject CACIC_Computer::toJsonObject() // json.insert("network", network); } + /*pegarOS * @return: int; * retorna um id referente a versão do SO. - * 48 = Windows XP - * 128 = Windows Vista - * 144 = Windows 7 - * 160 = Windows 8 - * 176 = Windows 8.1 - * 200 = Linux - * 0 = unkown */ int CACIC_Computer::pegarOS(){ -#if defined (Q_OS_WIN) - return QSysInfo::WindowsVersion; + +#if defined (Q_OS_WIN) || defined(Q_OS_CYGWIN) + if(QSysInfo::WindowsVersion == QSysInfo::QSysInfo.WinVersion.WV_XP) + return WIN_XP; + else if(QSysInfo::WindowsVersion == QSysInfo::QSysInfo.WinVersion.WV_VISTA) + return WIN_VISTA; + else if(QSysInfo::WindowsVersion == QSysInfo::QSysInfo.WinVersion.WV_WINDOWS7) + return WIN_7; + else if(QSysInfo::WindowsVersion == QSysInfo::QSysInfo.WinVersion.WV_WINDOWS8) + return WIN_8; + else if(QSysInfo::WindowsVersion == QSysInfo::QSysInfo.WinVersion.WV_WINDOWS8_1) + return WIN_8_1; +#elif defined(Q_OS_MAC) + return MAC; #elif defined (Q_OS_LINUX) - return 200; + + //TODO: extrair info de distro do "cat /etc/*release" + return LINUX_ARCH; #else - return 0; + return -1; #endif } @@ -117,7 +125,7 @@ int CACIC_Computer::getOs() const return os; } -std::string CACIC_Computer::getUsuario() const { +std::string CACIC_Computer::getUser() const { return usuario; } diff --git a/src/cacic_computer.h b/src/cacic_computer.h index c640711..b301e68 100644 --- a/src/cacic_computer.h +++ b/src/cacic_computer.h @@ -8,20 +8,38 @@ #include #include +#include +#include +#include + class CACIC_Computer { public: CACIC_Computer(); - int pegarOS(); - std::string pegarUsu(); int getOs() const; - std::string getUsuario() const; + std::string getUser() const; QList getNetworkInterface() const; QList networkInterfacesRunning(); QJsonObject toJsonObject(); + enum OsList { + WIN_XP, + WIN_VISTA, + WIN_7, + WIN_8, + WIN_8_1, + MAC, + LINUX_DEBIAN, + LINUX_UBUNTU, + LINUX_ARCH + }; + static const enum OsList OsList; + private: + int pegarOS(); + std::string pegarUsu(); + QList networkInterface; int os; std::string usuario; -- libgit2 0.21.2