Commit 496eb90cd2684ba2a2b08181884f31c74862c1cc
1 parent
5757e377
Exists in
master
Refactor para criação da classe OperatingSystem
Showing
5 changed files
with
72 additions
and
66 deletions
Show diff stats
cacic-teste/testcacic.cpp
| ... | ... | @@ -88,7 +88,8 @@ void CTestCacic::testInterfaceDeRede(){ |
| 88 | 88 | |
| 89 | 89 | void CTestCacic::testpegarOS(){ |
| 90 | 90 | //basta que seja um retorno válido, não precisa validar todos. |
| 91 | - QVERIFY(OCacicComp.getOs() != -1 ); | |
| 91 | + | |
| 92 | + QVERIFY(OCacicComp.getOs().getIdSo() != -1 ); | |
| 92 | 93 | } |
| 93 | 94 | |
| 94 | 95 | void CTestCacic::testConsole() | ... | ... |
src/cacic_computer.cpp
| ... | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | |
| 3 | 3 | CACIC_Computer::CACIC_Computer() |
| 4 | 4 | { |
| 5 | - os = pegarOS(); | |
| 5 | + operatingSystem = OperatingSystem(); | |
| 6 | 6 | networkInterface = networkInterfacesRunning(); |
| 7 | 7 | usuario = pegarUsu(); |
| 8 | 8 | } |
| ... | ... | @@ -70,50 +70,6 @@ QJsonObject CACIC_Computer::toJsonObject() |
| 70 | 70 | // json.insert("network", network); |
| 71 | 71 | } |
| 72 | 72 | |
| 73 | - | |
| 74 | -/*pegarOS | |
| 75 | - * @return: int; | |
| 76 | - * retorna um id referente a versão do SO. | |
| 77 | - * 48 = Windows XP | |
| 78 | - * 128 = Windows Vista | |
| 79 | - * 144 = Windows 7 | |
| 80 | - * 160 = Windows 8 | |
| 81 | - * 176 = Windows 8.1 | |
| 82 | - * 200 = Linux | |
| 83 | - * 0 = unkown | |
| 84 | - */ | |
| 85 | -int CACIC_Computer::pegarOS(){ | |
| 86 | -/*Não entendi o que você tentou fazer aqui, mas não funcionou. | |
| 87 | - * Você chegou a testar? Comenta o que era pra fazer. | |
| 88 | - * ====== | |
| 89 | - * Não testei, mas quis pegar os valores definidos no enum do QSysInfo | |
| 90 | - * para Windows e, em vez de retornar estes valores ( que estão | |
| 91 | - * comentados acima), retornar os valores do enum da própria CACIC_Computer. | |
| 92 | - */ | |
| 93 | -//#if defined (Q_OS_WIN) || defined(Q_OS_CYGWIN) | |
| 94 | -// if(QSysInfo::WindowsVersion == QSysInfo::WV_XP) | |
| 95 | -// return WIN_XP; | |
| 96 | -// else if(QSysInfo::WindowsVersion == QSysInfo::WV_VISTA) | |
| 97 | -// return WIN_VISTA; | |
| 98 | -// else if(QSysInfo::WindowsVersion == QSysInfo::WV_WINDOWS7) | |
| 99 | -// return WIN_7; | |
| 100 | -// else if(QSysInfo::WindowsVersion == QSysInfo::WV_WINDOWS8) | |
| 101 | -// return WIN_8; | |
| 102 | -// else if(QSysInfo::WindowsVersion == QSysInfo::WV_WINDOWS8_1) | |
| 103 | -// return WIN_8_1; | |
| 104 | -#if defined (Q_OS_WIN) | |
| 105 | - return QSysInfo::WindowsVersion; | |
| 106 | -#elif defined(Q_OS_MAC) | |
| 107 | - return MAC; | |
| 108 | -#elif defined (Q_OS_LINUX) | |
| 109 | - | |
| 110 | - //TODO: extrair info de distro do "cat /etc/*release" | |
| 111 | - return LINUX_ARCH; | |
| 112 | -#else | |
| 113 | - return -1; | |
| 114 | -#endif | |
| 115 | -} | |
| 116 | - | |
| 117 | 73 | /* |
| 118 | 74 | * PegarUsu() |
| 119 | 75 | * @return: std::string; |
| ... | ... | @@ -135,9 +91,9 @@ std::string CACIC_Computer::pegarUsu(){ |
| 135 | 91 | /* |
| 136 | 92 | * getters/setters |
| 137 | 93 | */ |
| 138 | -int CACIC_Computer::getOs() const | |
| 94 | +OperatingSystem CACIC_Computer::getOs() const | |
| 139 | 95 | { |
| 140 | - return os; | |
| 96 | + return operatingSystem; | |
| 141 | 97 | } |
| 142 | 98 | |
| 143 | 99 | std::string CACIC_Computer::getUser() const { | ... | ... |
src/cacic_computer.h
| ... | ... | @@ -8,40 +8,26 @@ |
| 8 | 8 | #include <QtNetwork/QtNetwork> |
| 9 | 9 | #include <QSysInfo> |
| 10 | 10 | |
| 11 | -#include <stdio.h> | |
| 12 | -#include <unistd.h> | |
| 13 | -#include <sys/types.h> | |
| 11 | +#include <operatingsystem.h> | |
| 14 | 12 | |
| 15 | 13 | class CACIC_Computer |
| 16 | 14 | { |
| 17 | 15 | public: |
| 18 | 16 | CACIC_Computer(); |
| 19 | 17 | |
| 20 | - int getOs() const; | |
| 18 | + OperatingSystem getOs() const; | |
| 21 | 19 | std::string getUser() const; |
| 22 | 20 | QList<QVariantMap> getNetworkInterface() const; |
| 23 | 21 | QList<QVariantMap> networkInterfacesRunning(); |
| 24 | 22 | QJsonObject toJsonObject(); |
| 25 | 23 | |
| 26 | - enum OsList { | |
| 27 | - WIN_XP, | |
| 28 | - WIN_VISTA, | |
| 29 | - WIN_7, | |
| 30 | - WIN_8, | |
| 31 | - WIN_8_1, | |
| 32 | - MAC, | |
| 33 | - LINUX_DEBIAN, | |
| 34 | - LINUX_UBUNTU, | |
| 35 | - LINUX_ARCH | |
| 36 | - }; | |
| 37 | - static const enum OsList OsList; | |
| 38 | - | |
| 39 | 24 | private: |
| 25 | + | |
| 26 | + OperatingSystem operatingSystem; | |
| 40 | 27 | int pegarOS(); |
| 41 | 28 | std::string pegarUsu(); |
| 42 | 29 | |
| 43 | 30 | QList<QVariantMap> networkInterface; |
| 44 | - int os; | |
| 45 | 31 | std::string usuario; |
| 46 | 32 | |
| 47 | 33 | }; | ... | ... |
| ... | ... | @@ -0,0 +1,35 @@ |
| 1 | +#include "operatingsystem.h" | |
| 2 | + | |
| 3 | +/*pegarOS | |
| 4 | + * @return: int; | |
| 5 | + * retorna um id referente a versão do SO. | |
| 6 | + * 48 = Windows XP | |
| 7 | + * 128 = Windows Vista | |
| 8 | + * 144 = Windows 7 | |
| 9 | + * 160 = Windows 8 | |
| 10 | + * 176 = Windows 8.1 | |
| 11 | + * 200 = Linux | |
| 12 | + */ | |
| 13 | +int OperatingSystem::pegarOS(){ | |
| 14 | +#if defined (Q_OS_WIN) | |
| 15 | + return QSysInfo::WindowsVersion; | |
| 16 | +#elif defined (Q_OS_LINUX) | |
| 17 | + return 200; | |
| 18 | +#else | |
| 19 | + return 0; | |
| 20 | +#endif | |
| 21 | +} | |
| 22 | + | |
| 23 | +int OperatingSystem::getIdSo() const | |
| 24 | +{ | |
| 25 | + return idSo; | |
| 26 | +} | |
| 27 | + | |
| 28 | +void OperatingSystem::setIdSo(int value) | |
| 29 | +{ | |
| 30 | + idSo = value; | |
| 31 | +} | |
| 32 | + | |
| 33 | +OperatingSystem::OperatingSystem() | |
| 34 | +{ | |
| 35 | +} | ... | ... |
| ... | ... | @@ -0,0 +1,28 @@ |
| 1 | +#ifndef OPERATINGSYSTEM_H | |
| 2 | +#define OPERATINGSYSTEM_H | |
| 3 | + | |
| 4 | +#include <QtCore> | |
| 5 | +#include <QSysInfo> | |
| 6 | + | |
| 7 | +class OperatingSystem | |
| 8 | +{ | |
| 9 | +private: | |
| 10 | + int idSo; | |
| 11 | + | |
| 12 | + int pegarOS(); | |
| 13 | +public: | |
| 14 | + OperatingSystem(); | |
| 15 | + | |
| 16 | + enum OsList { | |
| 17 | + MAC, | |
| 18 | + LINUX_DEBIAN, | |
| 19 | + LINUX_UBUNTU, | |
| 20 | + LINUX_ARCH | |
| 21 | + }; | |
| 22 | + static const enum OsList OsList; | |
| 23 | + | |
| 24 | + int getIdSo() const; | |
| 25 | + void setIdSo(int value); | |
| 26 | +}; | |
| 27 | + | |
| 28 | +#endif // OPERATINGSYSTEM_H | ... | ... |