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 | */ | ... | ... |