Commit ec33ae2ce665001ca9d56c123e67ba8e2060e1d5
1 parent
05f8f16f
Exists in
master
Retornando lista ao pegar ip, mac e nome.
Showing
7 changed files
with
78 additions
and
48 deletions
Show diff stats
cacic-teste/cacic-teste.pro
cacic-teste/testcacic.cpp
... | ... | @@ -85,10 +85,14 @@ void CTestCacic::testDeCrypt(){ |
85 | 85 | } |
86 | 86 | |
87 | 87 | void CTestCacic::testInterfaceDeRede(){ |
88 | -// qDebug() << QString::fromStdString(OCacicComp.getIp()); | |
88 | +// qDebug() << QString::fromStdString(OCacicComp.getNetworkInterface().at(0).at(0)); | |
89 | 89 | QVERIFY(!OCacicComp.getNetworkInterface().empty()); |
90 | 90 | } |
91 | 91 | |
92 | 92 | void CTestCacic::testpegarOS(){ |
93 | - QVERIFY(OCacicComp.getOs() == "Windows_NT"); | |
93 | + QVERIFY((OCacicComp.getOs() == "Windows_NT") || (OCacicComp.getOs() == "linux")); | |
94 | 94 | } |
95 | + | |
96 | +//void CTestCacic::testJson(){ | |
97 | +// OCacic.readJson(); | |
98 | +//} | ... | ... |
cacic-teste/testcacic.h
src/cacic_computer.cpp
... | ... | @@ -3,41 +3,44 @@ |
3 | 3 | CACIC_Computer::CACIC_Computer(QObject *parent) : |
4 | 4 | QObject(parent) |
5 | 5 | { |
6 | - ip = pegarIPInterfaceDeRede(); | |
7 | - mac = pegarMACInterfaceDeRede(); | |
6 | + os = pegarOS(); | |
7 | + networkInterface = networkInterfacesRunning(); | |
8 | 8 | } |
9 | 9 | |
10 | -std::string CACIC_Computer::pegarIPInterfaceDeRede() { | |
11 | - QNetworkInterface interface; | |
12 | - QList<QHostAddress> IpList = interface.allAddresses(); | |
13 | - for (int i = 0; i < IpList.size(); i++){ | |
14 | - if((!IpList.at(i).isLoopback()) & (IpList.at(i).scopeId() == "")){ | |
15 | - return IpList.at(i).toString().toStdString(); | |
10 | +QList<QList<std::string>> CACIC_Computer::networkInterfacesRunning(){ | |
11 | + QNetworkInterface interface; | |
12 | + QList<std::string> lista; | |
13 | + QList<QList<std::string>> todasInterfaces; | |
14 | + | |
15 | + foreach (QNetworkInterface in, interface.allInterfaces()) { | |
16 | + if (!(bool)(in.flags() & QNetworkInterface::IsLoopBack) & | |
17 | + !(bool)(in.flags() & QNetworkInterface::IsPointToPoint) & | |
18 | + (bool)(in.flags() & QNetworkInterface::IsRunning)){ | |
19 | + lista.append(in.humanReadableName().toStdString()); | |
20 | + lista.append(in.hardwareAddress().toStdString()); | |
21 | + foreach (QNetworkAddressEntry ae, in.addressEntries()){ | |
22 | + if (ae.ip().scopeId() == ""){ | |
23 | + lista.append(ae.ip().toString().toStdString()); | |
24 | + } else { | |
25 | + lista.append(ae.ip().toString().toStdString()); | |
26 | + } | |
27 | + } | |
28 | + todasInterfaces.append(lista); | |
29 | + lista.clear(); | |
16 | 30 | } |
17 | 31 | } |
18 | - return ""; | |
19 | -} | |
20 | - | |
21 | - | |
22 | -std::string CACIC_Computer::pegarMACInterfaceDeRede(){ | |
23 | - foreach (const QNetworkInterface &ni, QNetworkInterface::allInterfaces()) { | |
24 | - if (!(ni.flags() & ni.IsLoopBack)){ | |
25 | - //qDebug() << ni.hardwareAddress(); | |
26 | - return ni.hardwareAddress().toStdString(); | |
27 | - } | |
28 | - } | |
29 | - return "ERROR MAC"; | |
32 | + return todasInterfaces; | |
30 | 33 | } |
31 | 34 | |
32 | 35 | std::string CACIC_Computer::pegarOS(){ |
33 | 36 | QString text; |
34 | - qint32 x=0; | |
35 | - //QStringList environment = QProcessEnvironment::systemEnvironment().toStringList(); | |
36 | 37 | QStringList environment = QProcess::systemEnvironment(); |
37 | -// foreach (text, environment) { | |
38 | -// qDebug() << x << sear; | |
39 | -// x++; | |
40 | -// } | |
38 | + foreach (text, environment) { | |
39 | + if (text.contains("OS=", Qt::CaseInsensitive)){ | |
40 | + return text.mid(text.indexOf("=")+1).toStdString(); | |
41 | + } | |
42 | + //implementar o if pra quando for linux. | |
43 | + } | |
41 | 44 | return ""; |
42 | 45 | } |
43 | 46 | |
... | ... | @@ -45,17 +48,14 @@ std::string CACIC_Computer::pegarOS(){ |
45 | 48 | * getters/setters |
46 | 49 | */ |
47 | 50 | |
48 | -std::string CACIC_Computer::getIp() const | |
49 | -{ | |
50 | - return ip; | |
51 | -} | |
52 | -std::string CACIC_Computer::getMac() const | |
53 | -{ | |
54 | - return mac; | |
55 | -} | |
56 | 51 | std::string CACIC_Computer::getOs() const |
57 | 52 | { |
58 | 53 | return os; |
59 | 54 | } |
55 | +QList<QList<std::string>> CACIC_Computer::getNetworkInterface() const | |
56 | +{ | |
57 | + return networkInterface; | |
58 | +} | |
59 | + | |
60 | 60 | |
61 | 61 | ... | ... |
src/cacic_computer.h
... | ... | @@ -6,25 +6,21 @@ |
6 | 6 | #include <QtSerialPort/QtSerialPort> |
7 | 7 | #include <QtSerialPort/QSerialPortInfo> |
8 | 8 | #include <QtNetwork/QtNetwork> |
9 | -#include <QHostAddress> | |
10 | 9 | |
11 | 10 | class CACIC_Computer : public QObject |
12 | 11 | { |
13 | 12 | Q_OBJECT |
14 | 13 | public: |
15 | - explicit CACIC_Computer(QObject *parent = 0); | |
16 | - std::string pegarIPInterfaceDeRede(); | |
17 | - std::string pegarMACInterfaceDeRede(); | |
18 | - std::string pegarOS(); | |
19 | - void setOs(const std::string &value); | |
20 | - std::string getIp() const; | |
21 | - std::string getMac() const; | |
22 | - std::string getOs() const; | |
14 | + explicit CACIC_Computer(QObject *parent = 0); | |
15 | + | |
16 | + std::string pegarOS(); | |
17 | + std::string getOs() const; | |
18 | + QList<QList<std::string>> getNetworkInterface() const; | |
19 | + QList<QList<std::string>> networkInterfacesRunning(); | |
23 | 20 | |
24 | 21 | private: |
25 | - std::string ip; | |
26 | - std::string mac; | |
27 | - std::string os; | |
22 | + QList<QList<std::string>> networkInterface; | |
23 | + std::string os; | |
28 | 24 | |
29 | 25 | signals: |
30 | 26 | ... | ... |
src/ccacic.cpp
... | ... | @@ -149,6 +149,33 @@ QString CCacic::deCrypt(QString str_in, QString key, QString iv) { |
149 | 149 | return QString::fromStdString(str_out).toLocal8Bit(); |
150 | 150 | } |
151 | 151 | |
152 | +//void CCacic::readJson() | |
153 | +//{ | |
154 | +// QString val; | |
155 | +// QFile file; | |
156 | +// file.setFileName("e:/Lightbase/teste.json"); | |
157 | +// file.open(QIODevice::ReadOnly | QIODevice::Text); | |
158 | +// val = file.readAll(); | |
159 | +// file.close(); | |
160 | +// qWarning() << val; | |
161 | +// QJsonDocument d = QJsonDocument::fromJson(val.toUtf8()); | |
162 | +// QJsonObject sett2 = d.object(); | |
163 | +// QJsonValue value = sett2.value(QString("appName")); | |
164 | +// qWarning() << value; | |
165 | +// QJsonObject item = value.toObject(); | |
166 | +// qWarning() << tr("QJsonObject of description: ") << item; | |
167 | + | |
168 | +// /* incase of string value get value and convert into string*/ | |
169 | +// qWarning() << tr("QJsonObject[appName] of description: ") << item["description"]; | |
170 | +// QJsonValue subobj = item["description"]; | |
171 | +// qWarning() << subobj.toString(); | |
172 | + | |
173 | +// /* incase of array get array and convert into string*/ | |
174 | +// qWarning() << tr("QJsonObject[appName] of value: ") << item["imp"]; | |
175 | +// QJsonArray test = item["imp"].toArray(); | |
176 | +// qWarning() << test[1].toString(); | |
177 | +//} | |
178 | + | |
152 | 179 | /*Getters/Setters |
153 | 180 | * Begin: |
154 | 181 | */ | ... | ... |