Commit f3d2ba1e9ade8e98bb53770d52e5bce672cf9694

Authored by LightBase Consultoria em Software Publico
1 parent e9c282ff
Exists in master

Adicionado metodo e teste de captura de OS e User

cacic-teste/testcacic.cpp
@@ -3,109 +3,114 @@ @@ -3,109 +3,114 @@
3 QTEST_MAIN(CTestCacic) 3 QTEST_MAIN(CTestCacic)
4 4
5 CTestCacic::CTestCacic(QObject *parent) : 5 CTestCacic::CTestCacic(QObject *parent) :
6 - QObject(parent) 6 + QObject(parent)
7 { 7 {
8 } 8 }
9 9
10 void CTestCacic::initTestCase() 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 void CTestCacic::testCreateFolder() 34 void CTestCacic::testCreateFolder()
35 { 35 {
36 - QVERIFY(OCacic.createFolder(testPath)); 36 + QVERIFY(OCacic.createFolder(testPath));
37 } 37 }
38 38
39 void CTestCacic::testGetAndSetValueFromFile() 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 void CTestCacic::testGetValueFromTags() 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 void CTestCacic::testCommStatus() 51 void CTestCacic::testCommStatus()
52 { 52 {
53 - QVERIFY(OCacicComm.commStatus()); 53 + QVERIFY(OCacicComm.commStatus());
54 } 54 }
55 55
56 void CTestCacic::testComm() 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 } else 61 } else
62 - QSKIP("Teste de comunicação negativo!"); 62 + QSKIP("Teste de comunicação negativo!");
63 } 63 }
64 64
65 void CTestCacic::testDeleteFile() 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 void CTestCacic::testDeleteFolder() 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 void CTestCacic::testEnCrypt(){ 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 void CTestCacic::testDeCrypt(){ 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 void CTestCacic::testInterfaceDeRede(){ 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 void CTestCacic::testpegarOS(){ 99 void CTestCacic::testpegarOS(){
100 - QVERIFY((OCacicComp.getOs() == "Windows_NT") || (OCacicComp.getOs() == "linux")); 100 + QVERIFY((OCacicComp.getOs() == "Windows_NT") || (OCacicComp.getOs() == "linux"));
101 } 101 }
102 102
  103 +void CTestCacic::testPegarUsu(){
  104 + //lightbase = user do linux.
  105 + //Usuario = user da vm winxp.
  106 + QVERIFY(OCacicComp.getUser() == "lightbase" || OCacicComp.getUser() == "Usuario");
  107 +}
103 108
104 void CTestCacic::testLogin(){ 109 void CTestCacic::testLogin(){
105 - QJsonObject sessionjson = OCacicComm.login();  
106 - QJsonValue session_str = sessionjson["codestatus"];  
107 -// qDebug() << session_str.toVariant().toString();  
108 - QVERIFY(!session_str.isNull()); 110 + QJsonObject sessionjson = OCacicComm.login();
  111 + QJsonValue session_str = sessionjson["codestatus"];
  112 + // qDebug() << session_str.toVariant().toString();
  113 + QVERIFY(!session_str.isNull());
109 } 114 }
110 115
111 void CTestCacic::cleanupTestCase() 116 void CTestCacic::cleanupTestCase()
cacic-teste/testcacic.h
1 #ifndef TESTINSTALLCACIC_H 1 #ifndef TESTINSTALLCACIC_H
2 #define TESTINSTALLCACIC_H 2 #define TESTINSTALLCACIC_H
3 3
4 -#include <cacic_comm.h>  
5 -#include <ccacic.h>  
6 -#include <cacic_computer.h> 4 +#include <../src/cacic_comm.h>
  5 +#include <../src/ccacic.h>
  6 +#include <../src/cacic_computer.h>
7 #include <QtTest/QtTest> 7 #include <QtTest/QtTest>
8 #include <QDebug> 8 #include <QDebug>
9 #include <QList> 9 #include <QList>
10 #include <QProcess> 10 #include <QProcess>
11 #include <QStringList> 11 #include <QStringList>
12 #include <iostream> 12 #include <iostream>
13 -#include <QHostAddress> 13 +#include <QtNetwork/QtNetwork>
14 #include <QJsonObject> 14 #include <QJsonObject>
15 15
16 class CTestCacic : public QObject 16 class CTestCacic : public QObject
17 { 17 {
18 - Q_OBJECT 18 + Q_OBJECT
19 public: 19 public:
20 - explicit CTestCacic(QObject *parent = 0); 20 + explicit CTestCacic(QObject *parent = 0);
21 21
22 private: 22 private:
23 - CacicComm OCacicComm;  
24 - CCacic OCacic;  
25 - CACIC_Computer OCacicComp;  
26 - QString testPath;  
27 - QString testIniPath;  
28 - QJsonObject session; 23 + CacicComm OCacicComm;
  24 + CCacic OCacic;
  25 + CACIC_Computer OCacicComp;
  26 + QString testPath;
  27 + QString testIniPath;
  28 + QJsonObject session;
29 29
30 signals: 30 signals:
31 31
32 public slots: 32 public slots:
33 33
34 private slots: 34 private slots:
35 - void initTestCase();  
36 - void testCommStatus();  
37 - void testComm();  
38 - void testGetAndSetValueFromFile();  
39 - void testGetValueFromTags();  
40 - void testEnCrypt();  
41 - void testDeCrypt();  
42 - void testCreateFolder();  
43 - void testDeleteFolder();  
44 - void testDeleteFile();  
45 - void testInterfaceDeRede();  
46 - void testpegarOS();  
47 - void testLogin();  
48 - void cleanupTestCase(); 35 + void initTestCase();
  36 + void testCommStatus();
  37 + void testComm();
  38 + void testGetAndSetValueFromFile();
  39 + void testGetValueFromTags();
  40 + void testEnCrypt();
  41 + void testDeCrypt();
  42 + void testCreateFolder();
  43 + void testDeleteFolder();
  44 + void testDeleteFile();
  45 + void testInterfaceDeRede();
  46 + void testPegarUsu();
  47 + void testpegarOS();
  48 + void testLogin();
  49 + void cleanupTestCase();
49 }; 50 };
50 51
51 #endif // TESTINSTALLCACIC_H 52 #endif // TESTINSTALLCACIC_H
src/cacic_computer.cpp
@@ -2,8 +2,9 @@ @@ -2,8 +2,9 @@
2 2
3 CACIC_Computer::CACIC_Computer() 3 CACIC_Computer::CACIC_Computer()
4 { 4 {
5 - os = pegarOS();  
6 - networkInterface = networkInterfacesRunning(); 5 + os = pegarOS();
  6 + networkInterface = networkInterfacesRunning();
  7 + usu = pegarUsu();
7 } 8 }
8 9
9 /*NetworkInterfacesRunning 10 /*NetworkInterfacesRunning
@@ -14,31 +15,31 @@ CACIC_Computer::CACIC_Computer() @@ -14,31 +15,31 @@ CACIC_Computer::CACIC_Computer()
14 * 15 *
15 */ 16 */
16 QList<QList<std::string>> CACIC_Computer::networkInterfacesRunning(){ 17 QList<QList<std::string>> CACIC_Computer::networkInterfacesRunning(){
17 - QNetworkInterface interface;  
18 - QList<std::string> lista;  
19 - QList<QList<std::string>> todasInterfaces; 18 + QNetworkInterface interface;
  19 + QList<std::string> lista;
  20 + QList<QList<std::string>> todasInterfaces;
20 21
21 - foreach (QNetworkInterface in, interface.allInterfaces()) {  
22 - if (!(bool)(in.flags() & QNetworkInterface::IsLoopBack) &&  
23 - !(bool)(in.flags() & QNetworkInterface::IsPointToPoint) &&  
24 - (bool)(in.flags() & QNetworkInterface::IsRunning)){  
25 -// qDebug() << in.humanReadableName() << "\n";  
26 - lista.append(in.humanReadableName().toStdString());  
27 -// qDebug() << in.hardwareAddress() << "\n";  
28 - lista.append(in.hardwareAddress().toStdString());  
29 - foreach (QNetworkAddressEntry ae, in.addressEntries()){  
30 - if (ae.ip().scopeId() == ""){  
31 - 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());
32 } else { 33 } else {
33 - lista.append(ae.ip().toString().toStdString()); 34 + lista.append(ae.ip().toString().toStdString());
34 } 35 }
35 -// qDebug() << ae.ip().toString() << "\n"; 36 + // qDebug() << ae.ip().toString() << "\n";
36 } 37 }
37 - todasInterfaces.append(lista);  
38 - lista.clear(); 38 + todasInterfaces.append(lista);
  39 + lista.clear();
39 } 40 }
40 } 41 }
41 - return todasInterfaces; 42 + return todasInterfaces;
42 } 43 }
43 44
44 /*pegarOS 45 /*pegarOS
@@ -48,31 +49,73 @@ QList&lt;QList&lt;std::string&gt;&gt; CACIC_Computer::networkInterfacesRunning(){ @@ -48,31 +49,73 @@ QList&lt;QList&lt;std::string&gt;&gt; CACIC_Computer::networkInterfacesRunning(){
48 */ 49 */
49 std::string CACIC_Computer::pegarOS(){ 50 std::string CACIC_Computer::pegarOS(){
50 QString text; 51 QString text;
51 - QStringList environment = QProcess::systemEnvironment(); 52 + QStringList environment = QProcessEnvironment::systemEnvironment().toStringList();
52 foreach (text, environment) { 53 foreach (text, environment) {
53 - if (text.contains("OS=", Qt::CaseInsensitive)){  
54 - if ((QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS8) &&  
55 - (QSysInfo::windowsVersion() < QSysInfo::WV_WINDOWS8_1));  
56 -// qDebug () << "win 8";  
57 - else if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS8_1)  
58 -// qDebug() << "win 8.1";  
59 - return text.mid(text.indexOf("=")+1).toStdString(); 54 + if (text.contains("OS=Win", Qt::CaseInsensitive)){
  55 + //qDebug() << "Windows_NT";
  56 + return "Windows_NT";
  57 + }else{
  58 + if (text.contains("SESSION=", Qt::CaseInsensitive)){
  59 + //qDebug() << "linux";
  60 + return "linux";
  61 + }
  62 + }
  63 + }
  64 +}
  65 +
  66 +
  67 +/*
  68 + * PegarUsu()
  69 + * @return: std::string;
  70 + * retorna uma string o qual dirá qual é o usuario logado no sistema.
  71 +*/
  72 +std::string CACIC_Computer::pegarUsu(){
  73 + QString text;
  74 + QStringList environment = QProcessEnvironment::systemEnvironment().toStringList();
  75 + foreach (text, environment) {
  76 + if (text.contains("USER=", Qt::CaseInsensitive)){
  77 + QString x = text;
  78 + QString s = "USER=";
  79 + QString e = "\"";
  80 + int start = x.indexOf(s, 0, Qt::CaseInsensitive);
  81 + int end = x.indexOf(e, Qt::CaseInsensitive);
  82 + if(start != -1){
  83 + QString y = x.mid(start + s.length(), ((end - (start + s.length())) > -1 ? (end - (start + s.length())) : -1));
  84 + //qDebug() << y;
  85 + return y.toStdString();
  86 + }
  87 + }else{
  88 + if (text.contains("USERNAME=", Qt::CaseInsensitive)){
  89 + QString x = text;
  90 + QString s = "USERNAME=";
  91 + QString e = "\"";
  92 + int start = x.indexOf(s, 0, Qt::CaseInsensitive);
  93 + int end = x.indexOf(e, Qt::CaseInsensitive);
  94 + if(start != -1){
  95 + QString y = x.mid(start + s.length(), ((end - (start + s.length())) > -1 ? (end - (start + s.length())) : -1));
  96 + // qDebug() << y;
  97 + return y.toStdString();
  98 + }
  99 + }
60 } 100 }
61 - //implementar o if pra quando for linux.  
62 } 101 }
63 - return ""; 102 + return false;
64 } 103 }
65 104
66 /* 105 /*
67 * getters/setters 106 * getters/setters
68 - */ 107 +*/
69 108
70 std::string CACIC_Computer::getOs() const 109 std::string CACIC_Computer::getOs() const
71 { 110 {
72 - return os; 111 + return os;
73 } 112 }
  113 +
  114 +std::string CACIC_Computer::getUser() const {
  115 + return usu;
  116 +}
  117 +
74 QList<QList<std::string>> CACIC_Computer::getNetworkInterface() const 118 QList<QList<std::string>> CACIC_Computer::getNetworkInterface() const
75 { 119 {
76 - return networkInterface; 120 + return networkInterface;
77 } 121 }
78 -  
src/cacic_computer.h
@@ -14,13 +14,16 @@ public: @@ -14,13 +14,16 @@ public:
14 CACIC_Computer(); 14 CACIC_Computer();
15 15
16 std::string pegarOS(); 16 std::string pegarOS();
  17 + std::string pegarUsu();
17 std::string getOs() const; 18 std::string getOs() const;
  19 + std::string getUser() const;
18 QList<QList<std::string>> getNetworkInterface() const; 20 QList<QList<std::string>> getNetworkInterface() const;
19 QList<QList<std::string>> networkInterfacesRunning(); 21 QList<QList<std::string>> networkInterfacesRunning();
20 22
21 private: 23 private:
22 QList<QList<std::string>> networkInterface; 24 QList<QList<std::string>> networkInterface;
23 std::string os; 25 std::string os;
  26 + std::string usu;
24 27
25 }; 28 };
26 29