Index: sources/model/MWifiNetwork.h =================================================================== diff -u -rfdda01b86e25893f54de3d25e83ad0e8f5484a57 -r14a47d3069da79c18dea8b3e817957f5ec2a865a --- sources/model/MWifiNetwork.h (.../MWifiNetwork.h) (revision fdda01b86e25893f54de3d25e83ad0e8f5484a57) +++ sources/model/MWifiNetwork.h (.../MWifiNetwork.h) (revision 14a47d3069da79c18dea8b3e817957f5ec2a865a) @@ -20,43 +20,108 @@ */ class MWifiNetwork { public: - struct Data + + enum SECURITY_TYPE { + UNSUPPORTED, + WEP, + WPA_TKIP, + WPA_TKIP_AES, + WPA_AES, + WPA2_AES + }; + + enum SIGNAL_LEVEL { + NO_SIGNAL, + LVL_1, + LVL_2, + LVL_3, + LVL_4, + LVL_5 + }; - public: - enum SECURITY_TYPE { - UNSUPPORTED, - WEP, - WPA_TKIP, - WPA_TKIP_AES, - WPA_AES, - WPA2_AES - }; + enum STATUS { + NOT_CONNECTED, + CONNECTING, + CONNECTED, + DISCONNECTING + }; - enum SIGNAL_LEVEL + struct IPSettings { + QString mIPAddress; + QString mGateway; + QString mSubnetMask; + QString mBroadcast; + QString mDNS; + }; + + static SIGNAL_LEVEL convertSignalLevel(int vLevel) { + if (vLevel == 0) + return NO_SIGNAL; + else if (vLevel >= -50) + return LVL_5; + else if (vLevel >= -60) + return LVL_4; + else if (vLevel >= -70) + return LVL_3; + else if (vLevel >= -80) + return LVL_2; + else if (vLevel >= -90) + return LVL_1; + + return NO_SIGNAL; + } + + static QStringList securityTypesToStringList(QList vSecurityTypes) + { + QStringList result; + for (const SECURITY_TYPE &type : vSecurityTypes) { - NO_SIGNAL, - LVL_1, - LVL_2, - LVL_3, - LVL_4, - LVL_5 - }; + switch (type) { + case WEP: + { + result.append("WEP"); + break; + } + case WPA_TKIP: + { + result.append("WPA_TKIP"); + break; + } + case WPA_TKIP_AES: + { + result.append("WPA_TKIP_AES"); + break; + } + case WPA_AES: + { + result.append("WPA_AES"); + break; + } + case WPA2_AES: + { + result.append("WPA2_AES"); + break; + } + case UNSUPPORTED: + { + result.append("UNSUPPORTED"); + break; + } + default: + { + result.append("UNKNOWN"); + break; + } + } + } + return result; + } - enum STATUS { - NOT_CONNECTED, - CONNECTING, - CONNECTED, - DISCONNECTING - }; + struct Data + { - struct IPSettings { - QString mIPAddress; - QString mGateway; - QString mSubnetMask; - QString mBroadcast; - QString mDNS; - }; + public: IPSettings mIPSettings; @@ -66,113 +131,46 @@ return false; } - bool operator>(const Data &d1) { - if (signalLevel() > d1.signalLevel()) - return true; - return false; - } - - bool operator<(const Data &d1) { - if (signalLevel() < d1.signalLevel()) - return true; - return false; - } - QString ssid() const { return _ssid; } + void ssid(const QString &vSSID) { _ssid = vSSID; } - static QStringList securityTypesToStringList(QList vSecurityTypes) - { - QStringList result; - for (const SECURITY_TYPE &type : vSecurityTypes) - { - switch (type) { - case WEP: - { - result.append("WEP"); - break; - } - case WPA_TKIP: - { - result.append("WPA_TKIP"); - break; - } - case WPA_TKIP_AES: - { - result.append("WPA_TKIP_AES"); - break; - } - case WPA_AES: - { - result.append("WPA_AES"); - break; - } - case WPA2_AES: - { - result.append("WPA2_AES"); - break; - } - case UNSUPPORTED: - { - result.append("UNSUPPORTED"); - break; - } - default: - { - result.append("UNKNOWN"); - break; - } - } - } - return result; - } - QList securityTypes() const { return _securityTypes; } + void securityTypes(const QList &vSecurityTypes) { _securityTypes = vSecurityTypes; } + SIGNAL_LEVEL signalLevel() const { return _signalLevel; } + void signalLevel(const SIGNAL_LEVEL &vLevel) { _signalLevel = vLevel; } + STATUS status() const { return _status; } + void status(const STATUS &vStatus) { _status = vStatus; } + QString macAddress() const { return _macAddress; } + void macAddress(const QString &vMacAddress) { _macAddress = vMacAddress; } - SIGNAL_LEVEL convertSignalLevel(int vLevel) { - if (vLevel == 0) - return NO_SIGNAL; - else if (vLevel >= -50) - return LVL_5; - else if (vLevel >= -60) - return LVL_4; - else if (vLevel >= -70) - return LVL_3; - else if (vLevel >= -80) - return LVL_2; - else if (vLevel >= -90) - return LVL_1; - - return NO_SIGNAL; - } - explicit Data() {} explicit Data(const QString &vMacAddress) {_macAddress = vMacAddress; } explicit Data(const QString &vMacAddress, const QString &vSSID, const QList &vSecurityTypes, const STATUS &vStatus, const int &vSignalLevel) { Index: sources/view/VNetworkModel.cpp =================================================================== diff -u -rfdda01b86e25893f54de3d25e83ad0e8f5484a57 -r14a47d3069da79c18dea8b3e817957f5ec2a865a --- sources/view/VNetworkModel.cpp (.../VNetworkModel.cpp) (revision fdda01b86e25893f54de3d25e83ad0e8f5484a57) +++ sources/view/VNetworkModel.cpp (.../VNetworkModel.cpp) (revision 14a47d3069da79c18dea8b3e817957f5ec2a865a) @@ -135,7 +135,7 @@ case SSIDRole: return network.ssid(); case SecurityTypesRole: - return network.securityTypesToStringList(network.securityTypes()).join("/"); + return MWifiNetwork::securityTypesToStringList(network.securityTypes()).join("/"); case StatusRole: return network.status(); case SignalLevelRole: Index: sources/wifi/WifiInterface.cpp =================================================================== diff -u -rfdda01b86e25893f54de3d25e83ad0e8f5484a57 -r14a47d3069da79c18dea8b3e817957f5ec2a865a --- sources/wifi/WifiInterface.cpp (.../WifiInterface.cpp) (revision fdda01b86e25893f54de3d25e83ad0e8f5484a57) +++ sources/wifi/WifiInterface.cpp (.../WifiInterface.cpp) (revision 14a47d3069da79c18dea8b3e817957f5ec2a865a) @@ -56,8 +56,8 @@ QString macAddress = WifiSettings.value(WifiSettings_MacAddress).toString(); QString ssid = WifiSettings.value(WifiSettings_SSID).toString(); QList securityTypesVar = WifiSettings.value(WifiSettings_Security_Types).toList(); - WifiNetworkData::STATUS status = WifiNetworkData::STATUS::NOT_CONNECTED; - WifiNetworkData::SIGNAL_LEVEL signalLevel = WifiNetworkData::SIGNAL_LEVEL::NO_SIGNAL; + MWifiNetwork::STATUS status = MWifiNetwork::STATUS::NOT_CONNECTED; + MWifiNetwork::SIGNAL_LEVEL signalLevel = MWifiNetwork::SIGNAL_LEVEL::NO_SIGNAL; _useDHCP = WifiSettings.value(WifiSettings_UseDHCP).toBool(); return WifiNetworkData(macAddress, ssid, variantListToSecurityTypes(securityTypesVar), status, signalLevel); } @@ -345,7 +345,7 @@ continue; QString macAddress = getTextBetweenDelimiters(cell, searchTermMacAddress, "\n").trimmed(); int signalLevel = getTextBetweenDelimiters(cell, searchTermSignalLevel, "dBm").trimmed().toInt(); - QList securityTypes; + QList securityTypes; bool requiresKey = QRegularExpression("Encryption key:on").match(cell).hasMatch(); QStringList infoElement = cell.split("IE: "); @@ -358,24 +358,24 @@ bool requiresPSK = QRegularExpression("Authentication Suites.*PSK").match(element).hasMatch(); bool supportsTKIP = QRegularExpression("Pairwise Ciphers.*TKIP").match(element).hasMatch(); - WifiNetworkData::SECURITY_TYPE securityType = WifiNetworkData::SECURITY_TYPE::UNSUPPORTED; + MWifiNetwork::SECURITY_TYPE securityType = MWifiNetwork::SECURITY_TYPE::UNSUPPORTED; if (isWPA2 && requiresPSK && supportsAES && !supportsTKIP) - securityType = WifiNetworkData::SECURITY_TYPE::WPA2_AES; + securityType = MWifiNetwork::SECURITY_TYPE::WPA2_AES; else if (isWPA && requiresPSK && supportsAES && supportsTKIP) - securityType = WifiNetworkData::SECURITY_TYPE::WPA_TKIP_AES; + securityType = MWifiNetwork::SECURITY_TYPE::WPA_TKIP_AES; else if (isWPA && requiresPSK && supportsTKIP) - securityType = WifiNetworkData::SECURITY_TYPE::WPA_TKIP; + securityType = MWifiNetwork::SECURITY_TYPE::WPA_TKIP; else if (isWPA && requiresPSK && supportsAES) - securityType = WifiNetworkData::SECURITY_TYPE::WPA_AES; + securityType = MWifiNetwork::SECURITY_TYPE::WPA_AES; else if (!isWPA && !isWPA2 && !requiresPSK && !supportsAES && !supportsTKIP && requiresKey) - securityType = WifiNetworkData::SECURITY_TYPE::WEP; + securityType = MWifiNetwork::SECURITY_TYPE::WEP; - if (securityType != WifiNetworkData::SECURITY_TYPE::UNSUPPORTED) + if (securityType != MWifiNetwork::SECURITY_TYPE::UNSUPPORTED) securityTypes.append(securityType); } - WifiNetworkData network(macAddress, ssid, securityTypes, WifiNetworkData::STATUS::NOT_CONNECTED, signalLevel); + WifiNetworkData network(macAddress, ssid, securityTypes, MWifiNetwork::STATUS::NOT_CONNECTED, signalLevel); networks.append(network); emit didAddNetwork(network); } @@ -414,13 +414,13 @@ return; } QString securityType; - if (vNetwork.securityTypes().contains(WifiNetworkData::SECURITY_TYPE::WPA2_AES)) + if (vNetwork.securityTypes().contains(MWifiNetwork::SECURITY_TYPE::WPA2_AES)) securityType = "wpa2"; - else if (vNetwork.securityTypes().contains(WifiNetworkData::SECURITY_TYPE::WPA_TKIP_AES) - || vNetwork.securityTypes().contains(WifiNetworkData::SECURITY_TYPE::WPA_AES) - || vNetwork.securityTypes().contains(WifiNetworkData::SECURITY_TYPE::WPA_TKIP)) + else if (vNetwork.securityTypes().contains(MWifiNetwork::SECURITY_TYPE::WPA_TKIP_AES) + || vNetwork.securityTypes().contains(MWifiNetwork::SECURITY_TYPE::WPA_AES) + || vNetwork.securityTypes().contains(MWifiNetwork::SECURITY_TYPE::WPA_TKIP)) securityType = "wpa"; - else if (vNetwork.securityTypes().contains(WifiNetworkData::SECURITY_TYPE::WEP)) + else if (vNetwork.securityTypes().contains(MWifiNetwork::SECURITY_TYPE::WEP)) securityType = "wep"; else { @@ -887,10 +887,10 @@ * \param securityTypes (QList) the list of security type * \return (QStringList) the security types as a string list */ -QStringList WifiInterface::securityTypesToStringList(const QList &securityTypes) +QStringList WifiInterface::securityTypesToStringList(const QList &securityTypes) { QStringList securityTypesStrList; - for (const WifiNetworkData::SECURITY_TYPE &type : securityTypes) + for (const MWifiNetwork::SECURITY_TYPE &type : securityTypes) { securityTypesStrList.append(QString("%1").arg(type)); } @@ -903,13 +903,13 @@ * \param securityTypesVar (QVariantList) security types * \return (QList) the list of network security types */ -QList WifiInterface::variantListToSecurityTypes(const QList &securityTypesVar) +QList WifiInterface::variantListToSecurityTypes(const QList &securityTypesVar) { - QList securityTypes; + QList securityTypes; for (const QVariant &type : securityTypesVar) { bool ok = false; - WifiNetworkData::SECURITY_TYPE val = WifiNetworkData::SECURITY_TYPE(type.toInt(&ok)); + MWifiNetwork::SECURITY_TYPE val = MWifiNetwork::SECURITY_TYPE(type.toInt(&ok)); if (ok) securityTypes.append(val); } Index: sources/wifi/WifiInterface.h =================================================================== diff -u -rfdda01b86e25893f54de3d25e83ad0e8f5484a57 -r14a47d3069da79c18dea8b3e817957f5ec2a865a --- sources/wifi/WifiInterface.h (.../WifiInterface.h) (revision fdda01b86e25893f54de3d25e83ad0e8f5484a57) +++ sources/wifi/WifiInterface.h (.../WifiInterface.h) (revision 14a47d3069da79c18dea8b3e817957f5ec2a865a) @@ -12,6 +12,8 @@ // define #define _WifiInterface WifiInterface::I() +using namespace Model; + class tst_utilities; /*! @@ -72,8 +74,8 @@ bool hasConnectedToWifi(); WifiNetworkData getLastWifiNetworkConnectedTo(); void rejoinLastWifiNetwork(); - QStringList securityTypesToStringList(const QList &securityTypes); - QList variantListToSecurityTypes(const QList &securityTypesVar); + QStringList securityTypesToStringList(const QList &securityTypes); + QList variantListToSecurityTypes(const QList &securityTypesVar); public: void start();