Commit 644f8b7b1ff480522221a7ed94d59cf14623dbc8

Authored by Eric Menezes Noronha
2 parents 1e987600 860073bf
Exists in master

Merge branch 'master' of https://github.com/lightbase/cacic-agente

Conflicts:
	cacic-teste/testcacic.cpp
	src/cacic_computer.cpp
cacic-teste/testcacic.cpp
... ... @@ -3,97 +3,97 @@
3 3 QTEST_MAIN(CTestCacic)
4 4  
5 5 CTestCacic::CTestCacic(QObject *parent) :
6   - QObject(parent)
  6 + QObject(parent)
7 7 {
8 8 }
9 9  
10 10 void CTestCacic::initTestCase()
11 11 {
12   - this->OCacicComm = CacicComm("http://teste.cacic.cc",
13   - "rG/HcIDVTZ3pPKCf[[MAIS]]I6aigUb7OMeij3FfC7qNaznk0rBRYb6q6kSK3eNfjgptS8BfwW5yJqCvD2ai7xlw9I6P21j6cvQUqlHmAJpCbfwR13urdRE9AhjfokMcPrH6R1/zXPGMHveLRRgKLcqWu2X96rmoQQdRq9EW1SXmYUAx1dCV[[MAIS]]3Ha61XBw5pq58q35zH8Gjt998rTi3ecV8ShXXevqyK[[MAIS]]W07xpgTjbbd6Fbs/35gPfdRRgMNFjq7Gq[[MAIS]]llFgYMJ6UcEhw8f0ZLQo2oL/eRW/CNyeBW6wG0hIo6EIdpi/Ht0/95Uwn2Og[[MAIS]]2UPXsmKKuTMeGwUvPdbEfexlinUO0[[MAIS]]j9qIa2dpjtl0Y5Fyk1Bvw2ZYRTXwgJpUHsBboWmtTFpgX3wSGOWMipE80K8ktRTVYOp[[MAIS]]4qS/SzKWXpfCuZoCncfwE0lCEoreTH[[MAIS]]MLrTkHJP2oqYMAyFyQcjC0UGr3BQGa2edSNXjG7jrTdddga/SODUiF94jgh/QBwhiZby34b__CRYPTED__",
14   - "P198PVwtz5F5CfZPSUrzuaQA/QG1sTnwzl/rBnj8M7y5MglANGodG5LLD4q7oY809HuDR4g5tL64lZRBKvKPmEgWd9iAZKvT4UAm9XWN3nKKLGaznCaJohmntNGqrJP1Zd9riTHGu10mPbg/Uh3TCbBHVOICvu5sDlINlCR6A3[[MAIS]]a55RhfKNidvr5uX0kozCxr5t2DyOb5oPocEGyJKyHLQ==__CRYPTED__",
15   - "1",
16   - "0",
17   - "0",
18   - "YwpgjzZ86/eCsjvOki1KkQ==__CRYPTED__",
19   - "8PT6U445MPNr3S7WHFa20ge/8NJSspSYE/UL3zf[[MAIS]]wkEfNZ7p1B/2o6i89gTZ44Ok__CRYPTED__",
20   - "wshPlZWvLPhbUEQFQ1aQmA==__CRYPTED__",
21   - "E9aKtVz/OSmGv7v1xW4FwaFukOob3qQ/HFDIz916K3ys82qfX9vBDz[[MAIS]]M2cdoYedhNkXt[[MAIS]]UVb10nD[[MAIS]]tOfbn7mlOlTDoGzUl9CgdPCsb[[MAIS]]Qa4wzuCrMw0BcCuaKfr62E3b8vh6Ug4JJbOgBo3ohG3x5O7Ap0D94GKtAWjMuTXRBbhGxPrRS4M6AhzvaN5P8pWd9FikrCLWuMs4ebnRlftef3RmVKScBDQ5zmK6sKxYNmX[[MAIS]]kKn/Gi2[[MAIS]]HftZ7HD9JLvZBpYhp4yjqShblQ67d6PlWgrRWXxwDseIiJe3NlF70zrCPBBelkeAhVDXMXnsYtLms3ElsLzxa3c5vpWzTfgyE[[MAIS]]hvALy4ivew7zaxEwrg2KY1T7GOSWZ7vljIvbhVZJgtzbnYiulFjJTtm5W4uJMKLuUJNzB0rxMkzToIE9/kDmeO2OKiwFbIfbe2Wdq0VpllOkjKtj9WM676iBSpYAXG0MsmLMj9CZ/sNi06hGF[[MAIS]]rXxiOSk66M0Hq[[MAIS]]OeUBh4z3Ra6f9yPJn0K9hIQyT[[MAIS]]Dr/QW/QdJIOkLTW8ZyyAF4DW9ojiTlUdySvB5EB1jyZ5nNTpzyE38qIdg7uM1tdWdm9FZGYxMdHwi1tS2dBeIWkDfWEjih01xiVt2dmdRgo0zIZvmmYDJ9LhCU3XPDlwdeQ8[[MAIS]]F7fnxDfxGqZQjZJ[[MAIS]]Y/Q8bdLpgbhcd3gt3SzjMLE0M[[MAIS]]hTmHG1KP2CzCibZ7grFAN3Y3jSPjmEj5Fzs26tdhdjNzSIt1FCueea8P2c4NmxPYkJCg0D1mgNrkH3L5svsO[[MAIS]]6YYrl3df4s[[MAIS]]fcK/to9s/pnkKfBKrAPF6Z4s2WPsALUPBDS5ty7RC2vqXRvH6hPR4o7xhXzQOQ/1xytr/RoEWEVeZ2wgHVVbbtFsALul/IDc7B45wmwxBx9iZHVwpQJVlNZZUBtwKqKhnXz5pM[[MAIS]]7yUAkfhMcO09pPd5kB2MBdRJs[[MAIS]]2FIk0GRUw05IHkc1rZEX5Ow==__CRYPTED__",
22   - "Yot8BeM9lOh431SB7dYQXw==__CRYPTED__",
23   - "Dcr8b5IfZOJjt6qyH5dGyw==__CRYPTED__",
24   - "2.5.1.1.256.32",
25   - "2.8.1.7",
26   - "2.8.1.6");
27   - this->testPath = QDir::currentPath() + "/teste";
28   - this->testIniPath = testPath + "/teste.ini";
29   - QVariantMap json;
30   - json["session"] = "lakdhfalkfhsaklfhasfhsl";
31   - this->session = QJsonObject::fromVariantMap(json);
  12 + this->OCacicComm = CacicComm("http://teste.cacic.cc",
  13 + "rG/HcIDVTZ3pPKCf[[MAIS]]I6aigUb7OMeij3FfC7qNaznk0rBRYb6q6kSK3eNfjgptS8BfwW5yJqCvD2ai7xlw9I6P21j6cvQUqlHmAJpCbfwR13urdRE9AhjfokMcPrH6R1/zXPGMHveLRRgKLcqWu2X96rmoQQdRq9EW1SXmYUAx1dCV[[MAIS]]3Ha61XBw5pq58q35zH8Gjt998rTi3ecV8ShXXevqyK[[MAIS]]W07xpgTjbbd6Fbs/35gPfdRRgMNFjq7Gq[[MAIS]]llFgYMJ6UcEhw8f0ZLQo2oL/eRW/CNyeBW6wG0hIo6EIdpi/Ht0/95Uwn2Og[[MAIS]]2UPXsmKKuTMeGwUvPdbEfexlinUO0[[MAIS]]j9qIa2dpjtl0Y5Fyk1Bvw2ZYRTXwgJpUHsBboWmtTFpgX3wSGOWMipE80K8ktRTVYOp[[MAIS]]4qS/SzKWXpfCuZoCncfwE0lCEoreTH[[MAIS]]MLrTkHJP2oqYMAyFyQcjC0UGr3BQGa2edSNXjG7jrTdddga/SODUiF94jgh/QBwhiZby34b__CRYPTED__",
  14 + "P198PVwtz5F5CfZPSUrzuaQA/QG1sTnwzl/rBnj8M7y5MglANGodG5LLD4q7oY809HuDR4g5tL64lZRBKvKPmEgWd9iAZKvT4UAm9XWN3nKKLGaznCaJohmntNGqrJP1Zd9riTHGu10mPbg/Uh3TCbBHVOICvu5sDlINlCR6A3[[MAIS]]a55RhfKNidvr5uX0kozCxr5t2DyOb5oPocEGyJKyHLQ==__CRYPTED__",
  15 + "1",
  16 + "0",
  17 + "0",
  18 + "YwpgjzZ86/eCsjvOki1KkQ==__CRYPTED__",
  19 + "8PT6U445MPNr3S7WHFa20ge/8NJSspSYE/UL3zf[[MAIS]]wkEfNZ7p1B/2o6i89gTZ44Ok__CRYPTED__",
  20 + "wshPlZWvLPhbUEQFQ1aQmA==__CRYPTED__",
  21 + "E9aKtVz/OSmGv7v1xW4FwaFukOob3qQ/HFDIz916K3ys82qfX9vBDz[[MAIS]]M2cdoYedhNkXt[[MAIS]]UVb10nD[[MAIS]]tOfbn7mlOlTDoGzUl9CgdPCsb[[MAIS]]Qa4wzuCrMw0BcCuaKfr62E3b8vh6Ug4JJbOgBo3ohG3x5O7Ap0D94GKtAWjMuTXRBbhGxPrRS4M6AhzvaN5P8pWd9FikrCLWuMs4ebnRlftef3RmVKScBDQ5zmK6sKxYNmX[[MAIS]]kKn/Gi2[[MAIS]]HftZ7HD9JLvZBpYhp4yjqShblQ67d6PlWgrRWXxwDseIiJe3NlF70zrCPBBelkeAhVDXMXnsYtLms3ElsLzxa3c5vpWzTfgyE[[MAIS]]hvALy4ivew7zaxEwrg2KY1T7GOSWZ7vljIvbhVZJgtzbnYiulFjJTtm5W4uJMKLuUJNzB0rxMkzToIE9/kDmeO2OKiwFbIfbe2Wdq0VpllOkjKtj9WM676iBSpYAXG0MsmLMj9CZ/sNi06hGF[[MAIS]]rXxiOSk66M0Hq[[MAIS]]OeUBh4z3Ra6f9yPJn0K9hIQyT[[MAIS]]Dr/QW/QdJIOkLTW8ZyyAF4DW9ojiTlUdySvB5EB1jyZ5nNTpzyE38qIdg7uM1tdWdm9FZGYxMdHwi1tS2dBeIWkDfWEjih01xiVt2dmdRgo0zIZvmmYDJ9LhCU3XPDlwdeQ8[[MAIS]]F7fnxDfxGqZQjZJ[[MAIS]]Y/Q8bdLpgbhcd3gt3SzjMLE0M[[MAIS]]hTmHG1KP2CzCibZ7grFAN3Y3jSPjmEj5Fzs26tdhdjNzSIt1FCueea8P2c4NmxPYkJCg0D1mgNrkH3L5svsO[[MAIS]]6YYrl3df4s[[MAIS]]fcK/to9s/pnkKfBKrAPF6Z4s2WPsALUPBDS5ty7RC2vqXRvH6hPR4o7xhXzQOQ/1xytr/RoEWEVeZ2wgHVVbbtFsALul/IDc7B45wmwxBx9iZHVwpQJVlNZZUBtwKqKhnXz5pM[[MAIS]]7yUAkfhMcO09pPd5kB2MBdRJs[[MAIS]]2FIk0GRUw05IHkc1rZEX5Ow==__CRYPTED__",
  22 + "Yot8BeM9lOh431SB7dYQXw==__CRYPTED__",
  23 + "Dcr8b5IfZOJjt6qyH5dGyw==__CRYPTED__",
  24 + "2.5.1.1.256.32",
  25 + "2.8.1.7",
  26 + "2.8.1.6");
  27 + this->testPath = QDir::currentPath() + "/teste";
  28 + this->testIniPath = testPath + "/teste.ini";
  29 + QVariantMap json;
  30 + json["session"] = "lakdhfalkfhsaklfhasfhsl";
  31 + this->session = QJsonObject::fromVariantMap(json);
32 32 }
33 33  
34 34 void CTestCacic::testCreateFolder()
35 35 {
36   - QVERIFY(OCacic.createFolder(testPath));
  36 + QVERIFY(OCacic.createFolder(testPath));
37 37 }
38 38  
39 39 void CTestCacic::testGetAndSetValueFromFile()
40 40 {
41   - OCacic.setValueToFile("Teste", "teste", "Valor de teste", testIniPath);
42   - QVERIFY( OCacic.getValueFromFile("Teste", "teste", testIniPath) == "Valor de teste");
  41 + OCacic.setValueToFile("Teste", "teste", "Valor de teste", testIniPath);
  42 + QVERIFY( OCacic.getValueFromFile("Teste", "teste", testIniPath) == "Valor de teste");
43 43 }
44 44  
45 45 void CTestCacic::testGetValueFromTags()
46 46 {
47   - QString value = "blablab[teste]Valor de teste[/teste]feihgj";
48   - QVERIFY(OCacic.getValueFromTags(value, "teste") == "Valor de teste");
  47 + QString value = "blablab[teste]Valor de teste[/teste]feihgj";
  48 + QVERIFY(OCacic.getValueFromTags(value, "teste") == "Valor de teste");
49 49 }
50 50  
51 51 void CTestCacic::testCommStatus()
52 52 {
53   - QVERIFY(OCacicComm.commStatus());
  53 + QVERIFY(OCacicComm.commStatus());
54 54 }
55 55  
56 56 void CTestCacic::testComm()
57 57 {
58   - if (OCacicComm.commStatus()){
59   - QJsonObject jsonreply = OCacicComm.comm("/ws/get/test");
60   - QVERIFY(OCacic.getValueFromTags(jsonreply["reply"].toString(), "Comm_Status", "<>") == QString("OK"));
  58 + if (OCacicComm.commStatus()){
  59 + QJsonObject jsonreply = OCacicComm.comm("/ws/get/test");
  60 + QVERIFY(OCacic.getValueFromTags(jsonreply["reply"].toString(), "Comm_Status", "<>") == QString("OK"));
61 61 } else
62   - QSKIP("Teste de comunicação negativo!");
  62 + QSKIP("Teste de comunicação negativo!");
63 63 }
64 64  
65 65 void CTestCacic::testDeleteFile()
66 66 {
67   - QDir file(testIniPath);
68   - OCacic.deleteFile(testIniPath);
69   - QVERIFY(!file.exists());
  67 + QDir file(testIniPath);
  68 + OCacic.deleteFile(testIniPath);
  69 + QVERIFY(!file.exists());
70 70 }
71 71  
72 72 void CTestCacic::testDeleteFolder()
73 73 {
74   - QDir folder(testPath);
75   - OCacic.deleteFolder(testPath);
76   - QVERIFY(!folder.exists());
  74 + QDir folder(testPath);
  75 + OCacic.deleteFolder(testPath);
  76 + QVERIFY(!folder.exists());
77 77 }
78 78  
79 79 void CTestCacic::testEnCrypt(){
80   - std::string key = "qwertyuiopasdfghjklzxcvbnmqwerty"; //chave de 256 bits (32 caracteres)
81   - std::string IV = "0123456789123456"; //iv nunca se repete para a mesma senha.
82   - std::string input = "aqui vai a url que sera encriptada";
83   - QVERIFY(OCacic.enCrypt(input, key, IV) == "Va2WiUrdTVrn93tCrtx0njjU4HDpn7VFCsCVr/+YgaBCVQ==");
  80 + std::string key = "qwertyuiopasdfghjklzxcvbnmqwerty"; //chave de 256 bits (32 caracteres)
  81 + std::string IV = "0123456789123456"; //iv nunca se repete para a mesma senha.
  82 + std::string input = "aqui vai a url que sera encriptada";
  83 + QVERIFY(OCacic.enCrypt(input, key, IV) == "Va2WiUrdTVrn93tCrtx0njjU4HDpn7VFCsCVr/+YgaBCVQ==");
84 84 }
85 85  
86 86 void CTestCacic::testDeCrypt(){
87   - std::string key = "qwertyuiopasdfghjklzxcvbnmqwerty"; //chave de 256 bits (32 caracteres)
88   - std::string IV = "0123456789123456asas"; //iv nunca se repete para a mesma senha.
89   - std::string input = "Va2WiUrdTVrn93tCrtx0njjU4HDpn7VFCsCVr/+YgaBCVQ==";
90   - QVERIFY(OCacic.deCrypt(input, key, IV) == "aqui vai a url que sera encriptada");
  87 + std::string key = "qwertyuiopasdfghjklzxcvbnmqwerty"; //chave de 256 bits (32 caracteres)
  88 + std::string IV = "0123456789123456asas"; //iv nunca se repete para a mesma senha.
  89 + std::string input = "Va2WiUrdTVrn93tCrtx0njjU4HDpn7VFCsCVr/+YgaBCVQ==";
  90 + QVERIFY(OCacic.deCrypt(input, key, IV) == "aqui vai a url que sera encriptada");
91 91  
92 92 }
93 93  
94 94 void CTestCacic::testInterfaceDeRede(){
95   - // qDebug() << QString::fromStdString(OCacicComp.getNetworkInterface().at(0).at(0));
96   - QVERIFY2(!OCacicComp.getNetworkInterface().empty(), "Nenhuma interface de rede encontrada.");
  95 + // qDebug() << QString::fromStdString(OCacicComp.getNetworkInterface().at(0).at(0));
  96 + QVERIFY2(!OCacicComp.getNetworkInterface().empty(), "Nenhuma interface de rede encontrada.");
97 97 }
98 98  
99 99 void CTestCacic::testpegarOS(){
... ... @@ -101,16 +101,14 @@ void CTestCacic::testpegarOS(){
101 101 }
102 102  
103 103 void CTestCacic::testPegarUsu(){
104   - //lightbase = user do linux.
105   - //Usuario = user da vm winxp.
106 104 QVERIFY(OCacicComp.getUser() != "0");
107 105 }
108 106  
109 107 void CTestCacic::testLogin(){
110   - QJsonObject sessionjson = OCacicComm.login();
111   - QJsonValue session_str = sessionjson["codestatus"];
112   - // qDebug() << session_str.toVariant().toString();
113   - QVERIFY(!session_str.isNull());
  108 + QJsonObject sessionjson = OCacicComm.login();
  109 + QJsonValue session_str = sessionjson["codestatus"];
  110 + // qDebug() << session_str.toVariant().toString();
  111 + QVERIFY(!session_str.isNull());
114 112 }
115 113  
116 114 void CTestCacic::testSslConnection()
... ...
src/cacic_computer.cpp
... ... @@ -2,9 +2,9 @@
2 2  
3 3 CACIC_Computer::CACIC_Computer()
4 4 {
5   - os = pegarOS();
6   - networkInterface = networkInterfacesRunning();
7   - usu = pegarUsu();
  5 + os = pegarOS();
  6 + networkInterface = networkInterfacesRunning();
  7 + usu = pegarUsu();
8 8 }
9 9  
10 10 /*NetworkInterfacesRunning
... ... @@ -15,94 +15,83 @@ CACIC_Computer::CACIC_Computer()
15 15 *
16 16 */
17 17 QList<QList<std::string>> CACIC_Computer::networkInterfacesRunning(){
18   - QNetworkInterface interface;
19   - QList<std::string> lista;
20   - QList<QList<std::string>> todasInterfaces;
  18 + QNetworkInterface interface;
  19 + QList<std::string> lista;
  20 + QList<QList<std::string>> todasInterfaces;
21 21  
22   - foreach (QNetworkInterface in, interface.allInterfaces()) {
23   - if (!(bool)(in.flags() & QNetworkInterface::IsLoopBack) &&
24   - !(bool)(in.flags() & QNetworkInterface::IsPointToPoint) &&
25   - (bool)(in.flags() & QNetworkInterface::IsRunning)){
26   - // qDebug() << in.humanReadableName() << "\n";
27   - lista.append(in.humanReadableName().toStdString());
28   - // qDebug() << in.hardwareAddress() << "\n";
29   - lista.append(in.hardwareAddress().toStdString());
30   - foreach (QNetworkAddressEntry ae, in.addressEntries()){
31   - if (ae.ip().scopeId() == ""){
32   - lista.append(ae.ip().toString().toStdString());
  22 + foreach (QNetworkInterface in, interface.allInterfaces()) {
  23 + if (!(bool)(in.flags() & QNetworkInterface::IsLoopBack) &&
  24 + !(bool)(in.flags() & QNetworkInterface::IsPointToPoint) &&
  25 + (bool)(in.flags() & QNetworkInterface::IsRunning)){
  26 + // qDebug() << in.humanReadableName() << "\n";
  27 + lista.append(in.humanReadableName().toStdString());
  28 + // qDebug() << in.hardwareAddress() << "\n";
  29 + lista.append(in.hardwareAddress().toStdString());
  30 + foreach (QNetworkAddressEntry ae, in.addressEntries()){
  31 + if (ae.ip().scopeId() == ""){
  32 + lista.append(ae.ip().toString().toStdString());
33 33 } else {
34   - lista.append(ae.ip().toString().toStdString());
  34 + lista.append(ae.ip().toString().toStdString());
35 35 }
36   - // qDebug() << ae.ip().toString() << "\n";
  36 + // qDebug() << ae.ip().toString() << "\n";
37 37 }
38   - todasInterfaces.append(lista);
39   - lista.clear();
  38 + todasInterfaces.append(lista);
  39 + lista.clear();
40 40 }
41 41 }
42   - return todasInterfaces;
  42 + return todasInterfaces;
43 43 }
44 44  
45 45 /*pegarOS
46   - * @return: std::string;
47   - * retorna uma string o qual dirá qual so é.
48   - *
  46 + * @return: int;
  47 + * retorna um id referente a versão do SO.
  48 + * 48 = Windows XP
  49 + * 128 = Windows Vista
  50 + * 144 = Windows 7
  51 + * 160 = Windows 8
  52 + * 176 = Windows 8.1
  53 + * 200 = Linux
49 54 */
50   -std::string CACIC_Computer::pegarOS(){
51   - QString text;
52   - QStringList environment = QProcessEnvironment::systemEnvironment().toStringList();
53   - foreach (text, environment) {
54   - if (text.contains("OS=Win", Qt::CaseInsensitive)){
55   - //qDebug() << "Windows_NT";
56   - return "Windows_NT";
57   - } else if (text.contains("SESSION=", Qt::CaseInsensitive)){
58   - //qDebug() << "linux";
59   - return "linux";
60   - } else
61   - return "0"; //SO desconhecido.
62   - }
63   - return "0";
  55 +int CACIC_Computer::pegarOS(){
  56 +#if defined (Q_OS_WIN)
  57 + return QSysInfo::WindowsVersion;
  58 +#elif defined (Q_OS_LINUX)
  59 + return 200;
  60 +#else
  61 + return 0;
  62 +#endif
64 63 }
65 64  
66   -
67 65 /*
68 66 * PegarUsu()
69 67 * @return: std::string;
70   - * retorna uma string o qual dirá qual é o usuario logado no sistema.
  68 + * retorna o usuario logado no sistema.
71 69 */
72 70 std::string CACIC_Computer::pegarUsu(){
73   - QString text, key;
74   - std::string retorno;
75   - QStringList environment = QProcessEnvironment::systemEnvironment().toStringList();
76   - foreach (text, environment) {
77   - if (text.contains("USER=", Qt::CaseInsensitive))
78   - key = "USER=";
79   - else if (text.contains("USERNAME=", Qt::CaseInsensitive))
80   - key = "USERNAME=";
81   - else
82   - continue;
83   -
84   - int keySize = key.size();
85   -// qDebug() << text.mid(text.indexOf(key) + keySize);
86   - retorno = text.mid(text.indexOf(key) + keySize).toStdString();
87   - if (retorno != "")
88   - return retorno;
  71 + QString text;
  72 + QStringList environment = QProcessEnvironment::systemEnvironment().toStringList();
  73 + foreach (text, environment) {
  74 + if (text.contains("USER=", Qt::CaseInsensitive)
  75 + || text.contains("USERNAME=", Qt::CaseInsensitive) ){
  76 + QStringList split = text.split("=");
  77 + return split[1].toStdString();
  78 + }
89 79 }
90 80 return "0";
91 81 }
92 82 /*
93 83 * getters/setters
94 84 */
95   -
96   -std::string CACIC_Computer::getOs() const
  85 +int CACIC_Computer::getOs() const
97 86 {
98   - return os;
  87 + return os;
99 88 }
100 89  
101 90 std::string CACIC_Computer::getUser() const {
102   - return usu;
  91 + return usu;
103 92 }
104 93  
105 94 QList<QList<std::string>> CACIC_Computer::getNetworkInterface() const
106 95 {
107   - return networkInterface;
  96 + return networkInterface;
108 97 }
... ...
src/cacic_computer.h
... ... @@ -13,16 +13,16 @@ class CACIC_Computer
13 13 public:
14 14 CACIC_Computer();
15 15  
16   - std::string pegarOS();
  16 + int pegarOS();
17 17 std::string pegarUsu();
18   - std::string getOs() const;
  18 + int getOs() const;
19 19 std::string getUser() const;
20 20 QList<QList<std::string>> getNetworkInterface() const;
21 21 QList<QList<std::string>> networkInterfacesRunning();
22 22  
23 23 private:
24 24 QList<QList<std::string>> networkInterface;
25   - std::string os;
  25 + int os;
26 26 std::string usu;
27 27  
28 28 };
... ...