Index: denali.pro =================================================================== diff -u -re5a802bc26647388cfea4f1d46ae22570ec2dba3 -rfdda01b86e25893f54de3d25e83ad0e8f5484a57 --- denali.pro (.../denali.pro) (revision e5a802bc26647388cfea4f1d46ae22570ec2dba3) +++ denali.pro (.../denali.pro) (revision fdda01b86e25893f54de3d25e83ad0e8f5484a57) @@ -79,6 +79,7 @@ sources/model/MTreatmentParametersResp.h \ sources/model/MDGDebugText.h \ sources/model/MHDDebugText.h \ + sources/model/MWifiNetwork.h \ \ # ---------- Models - Alarm sources/model/hd/alarm/MAlarmStatusData.h \ sources/model/hd/alarm/MAlarmTriggered.h \ @@ -136,7 +137,6 @@ sources/bluetooth/BLEScanner.h \ \ # Wifi sources/wifi/WifiInterface.h \ - sources/wifi/Network.h \ \ # Denali Message sources/canbus/MessageGlobals.h \ sources/canbus/MessageAcknowModel.h \ Index: denali.pro.user =================================================================== diff -u -r091bc0425b84f094cbd863865a5edac2477208eb -rfdda01b86e25893f54de3d25e83ad0e8f5484a57 --- denali.pro.user (.../denali.pro.user) (revision 091bc0425b84f094cbd863865a5edac2477208eb) +++ denali.pro.user (.../denali.pro.user) (revision fdda01b86e25893f54de3d25e83ad0e8f5484a57) @@ -1,6 +1,6 @@ - + EnvironmentId @@ -86,311 +86,6 @@ ProjectExplorer.Project.Target.0 - Qt 5.12.5 (iMX8) - Qt 5.12.5 (iMX8) - {5d6458ef-f917-4aef-a092-c77bbe106149} - 1 - 0 - 0 - - /home/denali/Projects/tmp/build/denali-Qt_5_12_5_iMX8-Debug - - - true - qmake - - QtProjectManager.QMakeBuildStep - true - - false - false - false - - - true - Make - - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - true - - - /home/denali/Projects/tmp/build/denali-Qt_5_12_5_iMX8-Release - - - true - qmake - - QtProjectManager.QMakeBuildStep - false - - false - false - false - - - true - Make - - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - - /home/denali/Projects/tmp/build/denali-Qt_5_12_5_iMX8-Profile - - - true - qmake - - QtProjectManager.QMakeBuildStep - false - - false - false - false - - - true - Make - - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Make - - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - true - - 3 - - - - true - Check for free disk space - - RemoteLinux.CheckForFreeDiskSpaceStep - - - - - / - 5242880 - - - - - true - Kill current application instance - - RemoteLinux.KillAppStep - - - - - - - - - true - Deploy files via rsync - - RemoteLinux.RsyncDeployStep - - - - - - - -av - false - - 3 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - Deploy to Remote Linux Host - - DeployToGenericLinux - - 1 - - - dwarf - - cpu-cycles - - - 250 - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 1 - - - denali (on UI Test Board) - RemoteLinuxRunConfiguration:/home/denali/Projects/application/denali.pro - 1 - - false - - 3768 - false - true - false - false - true - false - - - :0 - - 1 - - - - ProjectExplorer.Project.Target.1 - Desktop Qt 5.12.5 GCC 64bit Desktop Qt 5.12.5 GCC 64bit qt.qt5.5125.gcc_64_kit @@ -1496,6 +1191,311 @@ + ProjectExplorer.Project.Target.1 + + Qt 5.12.5 (iMX8) + Qt 5.12.5 (iMX8) + {5d6458ef-f917-4aef-a092-c77bbe106149} + 1 + 0 + 0 + + /home/denali/Projects/tmp/build/denali-Qt_5_12_5_iMX8-Debug + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + /home/denali/Projects/tmp/build/denali-Qt_5_12_5_iMX8-Release + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + + /home/denali/Projects/tmp/build/denali-Qt_5_12_5_iMX8-Profile + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 3 + + + + true + Check for free disk space + + RemoteLinux.CheckForFreeDiskSpaceStep + + + + + / + 5242880 + + + + + true + Kill current application instance + + RemoteLinux.KillAppStep + + + + + + + + + true + Deploy files via rsync + + RemoteLinux.RsyncDeployStep + + + + + + + -av + false + + 3 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy to Remote Linux Host + + DeployToGenericLinux + + 1 + + + dwarf + + cpu-cycles + + + 250 + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 1 + + + denali (on UI Test Board) + RemoteLinuxRunConfiguration:/home/denali/Projects/application/denali.pro + 1 + + false + + 3768 + false + true + false + false + true + false + + + :0 + + 1 + + + ProjectExplorer.Project.TargetCount 2 Index: sources/gui/GuiGlobals.cpp =================================================================== diff -u -rf35b360054e1e2fa81bf107427fe2d50d78e9e8a -rfdda01b86e25893f54de3d25e83ad0e8f5484a57 --- sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision f35b360054e1e2fa81bf107427fe2d50d78e9e8a) +++ sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision fdda01b86e25893f54de3d25e83ad0e8f5484a57) @@ -93,7 +93,6 @@ qRegisterMetaType ("GuiAlarmPriority"); qRegisterMetaType ("GuiRequestReasons"); - qRegisterMetaType ("Network"); // Note that this Models are not used in the QML // but Qt needs them to be registered to be able to use them in between threads queue Index: sources/model/MModel.h =================================================================== diff -u -r5215e145a0f26a20c99e3f10af6ac8a9c3b67383 -rfdda01b86e25893f54de3d25e83ad0e8f5484a57 --- sources/model/MModel.h (.../MModel.h) (revision 5215e145a0f26a20c99e3f10af6ac8a9c3b67383) +++ sources/model/MModel.h (.../MModel.h) (revision fdda01b86e25893f54de3d25e83ad0e8f5484a57) @@ -227,6 +227,7 @@ REGISTER_METATYPE( HDDebugTextData ) \ REGISTER_METATYPE( DGDebugTextData ) \ REGISTER_METATYPE( PrimingData ) \ + REGISTER_METATYPE( WifiNetworkData ) \ \ /* Request */ \ REGISTER_METATYPE( TreatmentStartRequestData ) \ Index: sources/model/MWifiNetwork.h =================================================================== diff -u --- sources/model/MWifiNetwork.h (revision 0) +++ sources/model/MWifiNetwork.h (revision fdda01b86e25893f54de3d25e83ad0e8f5484a57) @@ -0,0 +1,210 @@ +#pragma once + +// Qt +#include + +// Project + + +// forward declarations +class tst_models; + +namespace Model { + + +/*! + * \brief The Network class + * Provides abstraction for a wifi network + * \details Holds information about the wifi network such as ssid, security, and connection status + * + */ +class MWifiNetwork { +public: + struct Data + { + + public: + 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 + }; + + enum STATUS { + NOT_CONNECTED, + CONNECTING, + CONNECTED, + DISCONNECTING + }; + + struct IPSettings { + QString mIPAddress; + QString mGateway; + QString mSubnetMask; + QString mBroadcast; + QString mDNS; + }; + + IPSettings mIPSettings; + + bool operator==(const Data &d1) { + if (ssid() == d1.ssid()) + return true; + 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) { + _macAddress = vMacAddress; + _ssid = vSSID; + _securityTypes = vSecurityTypes; + _status = vStatus; + _signalLevel = convertSignalLevel(vSignalLevel); + } + + void clearSettings() { + mIPSettings.mIPAddress = ""; + mIPSettings.mDNS = ""; + mIPSettings.mGateway = ""; + mIPSettings.mSubnetMask = ""; + + _macAddress = ""; + _ssid = ""; + _securityTypes.clear(); + _status = NOT_CONNECTED; + _signalLevel = NO_SIGNAL; + } + + private: + QString _macAddress; + QString _ssid; + QList _securityTypes; + SIGNAL_LEVEL _signalLevel = NO_SIGNAL; + STATUS _status = NOT_CONNECTED; + }; + +}; + +} +typedef Model::MWifiNetwork::Data WifiNetworkData; Index: sources/view/VNetworkModel.cpp =================================================================== diff -u -r08ab5b3dbe26b4c7b7bb2ac539b1cfd62a4676c7 -rfdda01b86e25893f54de3d25e83ad0e8f5484a57 --- sources/view/VNetworkModel.cpp (.../VNetworkModel.cpp) (revision 08ab5b3dbe26b4c7b7bb2ac539b1cfd62a4676c7) +++ sources/view/VNetworkModel.cpp (.../VNetworkModel.cpp) (revision fdda01b86e25893f54de3d25e83ad0e8f5484a57) @@ -16,17 +16,17 @@ void VNetworkModel::initConnections() { // incoming - connect(&_WifiInterface, SIGNAL(didAddNetwork(const Network)), - this, SLOT(onAddNetwork(const Network))); + connect(&_WifiInterface, SIGNAL(didAddNetwork(const WifiNetworkData)), + this, SLOT(onAddNetwork(const WifiNetworkData))); connect(&_WifiInterface, SIGNAL(didScanStatusChanged(const bool)), this, SLOT(onScanStatusChanged(const bool))); - connect(&_WifiInterface, SIGNAL(didConnectToNetwork(const Network)), - this, SLOT(onConnectedToNetwork(const Network))); + connect(&_WifiInterface, SIGNAL(didConnectToNetwork(const WifiNetworkData)), + this, SLOT(onConnectedToNetwork(const WifiNetworkData))); - connect(&_WifiInterface, SIGNAL(didDisconnectNetwork(Network)), - this, SLOT(onDisconnectedNetwork(const Network))); + connect(&_WifiInterface, SIGNAL(didDisconnectNetwork(WifiNetworkData)), + this, SLOT(onDisconnectedNetwork(const WifiNetworkData))); connect(&_WifiInterface, SIGNAL(didError(const QString)), this, SLOT(onStatusChanged(const QString))); @@ -51,11 +51,11 @@ connect(this, SIGNAL(didScan()), &_WifiInterface, SLOT(doScan())); - connect(this, SIGNAL(didJoinNetwork(const Network, const QString)), - &_WifiInterface, SLOT(doJoinNetwork(const Network, const QString))); + connect(this, SIGNAL(didJoinNetwork(const WifiNetworkData, const QString)), + &_WifiInterface, SLOT(doJoinNetwork(const WifiNetworkData, const QString))); - connect(this, SIGNAL(didDisconnectNetwork(Network)), - &_WifiInterface, SLOT(doDisconnectNetwork(const Network))); + connect(this, SIGNAL(didDisconnectNetwork(WifiNetworkData)), + &_WifiInterface, SLOT(doDisconnectNetwork(const WifiNetworkData))); connect(this, SIGNAL(didRequestIPSettings()), &_WifiInterface, SLOT(doRequestIPSettings())); @@ -81,7 +81,7 @@ * Adds a network to the network model * \param network (Network) - the network to add to the model */ -void VNetworkModel::addNetwork(const Network &vNetwork) +void VNetworkModel::addNetwork(const WifiNetworkData &vNetwork) { LOG_DEBUG(QString("Adding network with SSID: %1").arg(vNetwork.ssid())); beginInsertRows(QModelIndex(), rowCount(), rowCount()); @@ -126,7 +126,7 @@ if (index.row() < 0 || index.row() >= _networks.count()) return QVariant(); - const Network &network = _networks[index.row()]; + const WifiNetworkData &network = _networks[index.row()]; switch (role) { @@ -176,7 +176,7 @@ * Slot that receives a request to add a new network * \param vNetwork - (Network) the new network to add */ -void VNetworkModel::onAddNetwork(const Network &vNetwork) +void VNetworkModel::onAddNetwork(const WifiNetworkData &vNetwork) { if (!_networks.contains(vNetwork)) { @@ -223,7 +223,7 @@ void VNetworkModel::doJoinNetwork(const QString &vMacAddress, const QString &vPassword) { clearSelectedNetwork(); - for (const Network &network : _networks) + for (const WifiNetworkData &network : _networks) { if (network.macAddress() == vMacAddress) { @@ -241,7 +241,7 @@ */ void VNetworkModel::doDisconnectNetwork(const QString &vMacAddress) { - for (const Network &network : _networks) + for (const WifiNetworkData &network : _networks) { if (network.macAddress() == vMacAddress) { @@ -257,7 +257,7 @@ * Called when we have connected to a network. * \param vNetwork - (Network) the network we have connected to */ -void VNetworkModel::onConnectedToNetwork(const Network &vNetwork) +void VNetworkModel::onConnectedToNetwork(const WifiNetworkData &vNetwork) { LOG_DEBUG(QString("Connected to %1.").arg(vNetwork.ssid())); ipAddress(vNetwork.mIPSettings.mIPAddress); @@ -274,7 +274,7 @@ * Called when we have disconnected from a network. * \param vNetwork - (Network) the network we have disconnected from */ -void VNetworkModel::onDisconnectedNetwork(const Network &vNetwork) +void VNetworkModel::onDisconnectedNetwork(const WifiNetworkData &vNetwork) { LOG_DEBUG(QString("Disconnected from %1.").arg(vNetwork.ssid())); clearSelectedNetwork(); Index: sources/view/VNetworkModel.h =================================================================== diff -u -r08ab5b3dbe26b4c7b7bb2ac539b1cfd62a4676c7 -rfdda01b86e25893f54de3d25e83ad0e8f5484a57 --- sources/view/VNetworkModel.h (.../VNetworkModel.h) (revision 08ab5b3dbe26b4c7b7bb2ac539b1cfd62a4676c7) +++ sources/view/VNetworkModel.h (.../VNetworkModel.h) (revision fdda01b86e25893f54de3d25e83ad0e8f5484a57) @@ -7,7 +7,7 @@ // Project #include "main.h" #include "VView.h" -#include "Network.h" +#include "MWifiNetwork.h" // forward declarations @@ -48,14 +48,14 @@ SignalLevelRole, }; - void addNetwork (const Network &network); + void addNetwork (const WifiNetworkData &network); int rowCount (const QModelIndex &parent = QModelIndex()) const; QVariant data (const QModelIndex &index, int role = Qt::DisplayRole) const; void removeAllRows(); signals: void didScan(); - void didJoinNetwork(const Network, const QString); - void didDisconnectNetwork(const Network); + void didJoinNetwork(const WifiNetworkData, const QString); + void didDisconnectNetwork(const WifiNetworkData); void didRequestIPSettings(); // set IP addresses @@ -83,14 +83,14 @@ void initConnections(); void clearSelectedNetwork(); - QList _networks; + QList _networks; private slots: - void onAddNetwork(const Network &vNetwork); + void onAddNetwork(const WifiNetworkData &vNetwork); void onScanStatusChanged(const bool &vScanning); void onStatusChanged(const QString &vNewStatus); - void onConnectedToNetwork(const Network &vNetwork); - void onDisconnectedNetwork(const Network &vNetwork); + void onConnectedToNetwork(const WifiNetworkData &vNetwork); + void onDisconnectedNetwork(const WifiNetworkData &vNetwork); // static IP address assignment confirmation void onSetIPAddressSuccess(); Fisheye: Tag fdda01b86e25893f54de3d25e83ad0e8f5484a57 refers to a dead (removed) revision in file `sources/wifi/Network.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/wifi/WifiInterface.cpp =================================================================== diff -u -r08ab5b3dbe26b4c7b7bb2ac539b1cfd62a4676c7 -rfdda01b86e25893f54de3d25e83ad0e8f5484a57 --- sources/wifi/WifiInterface.cpp (.../WifiInterface.cpp) (revision 08ab5b3dbe26b4c7b7bb2ac539b1cfd62a4676c7) +++ sources/wifi/WifiInterface.cpp (.../WifiInterface.cpp) (revision fdda01b86e25893f54de3d25e83ad0e8f5484a57) @@ -51,15 +51,15 @@ * Gets the last network we connected to from settings * \return (Network) the network we last connected to */ -Network WifiInterface::getLastWifiNetworkConnectedTo() +WifiNetworkData WifiInterface::getLastWifiNetworkConnectedTo() { QString macAddress = WifiSettings.value(WifiSettings_MacAddress).toString(); QString ssid = WifiSettings.value(WifiSettings_SSID).toString(); QList securityTypesVar = WifiSettings.value(WifiSettings_Security_Types).toList(); - Network::STATUS status = Network::STATUS::NOT_CONNECTED; - Network::SIGNAL_LEVEL signalLevel = Network::SIGNAL_LEVEL::NO_SIGNAL; + WifiNetworkData::STATUS status = WifiNetworkData::STATUS::NOT_CONNECTED; + WifiNetworkData::SIGNAL_LEVEL signalLevel = WifiNetworkData::SIGNAL_LEVEL::NO_SIGNAL; _useDHCP = WifiSettings.value(WifiSettings_UseDHCP).toBool(); - return Network(macAddress, ssid, variantListToSecurityTypes(securityTypesVar), status, signalLevel); + return WifiNetworkData(macAddress, ssid, variantListToSecurityTypes(securityTypesVar), status, signalLevel); } /*! @@ -326,9 +326,9 @@ * * \param vOutput - (QString) output collected from QProcess execution */ -QList WifiInterface::parseWifiScan(const QString &vOutput) +QList WifiInterface::parseWifiScan(const QString &vOutput) { - QList networks; + QList networks; QString outputNoReturns = vOutput; outputNoReturns = outputNoReturns.replace("\r", ""); QStringList temp = outputNoReturns.split("Cell"); @@ -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(); - Network::SECURITY_TYPE securityType = Network::SECURITY_TYPE::UNSUPPORTED; + WifiNetworkData::SECURITY_TYPE securityType = WifiNetworkData::SECURITY_TYPE::UNSUPPORTED; if (isWPA2 && requiresPSK && supportsAES && !supportsTKIP) - securityType = Network::SECURITY_TYPE::WPA2_AES; + securityType = WifiNetworkData::SECURITY_TYPE::WPA2_AES; else if (isWPA && requiresPSK && supportsAES && supportsTKIP) - securityType = Network::SECURITY_TYPE::WPA_TKIP_AES; + securityType = WifiNetworkData::SECURITY_TYPE::WPA_TKIP_AES; else if (isWPA && requiresPSK && supportsTKIP) - securityType = Network::SECURITY_TYPE::WPA_TKIP; + securityType = WifiNetworkData::SECURITY_TYPE::WPA_TKIP; else if (isWPA && requiresPSK && supportsAES) - securityType = Network::SECURITY_TYPE::WPA_AES; + securityType = WifiNetworkData::SECURITY_TYPE::WPA_AES; else if (!isWPA && !isWPA2 && !requiresPSK && !supportsAES && !supportsTKIP && requiresKey) - securityType = Network::SECURITY_TYPE::WEP; + securityType = WifiNetworkData::SECURITY_TYPE::WEP; - if (securityType != Network::SECURITY_TYPE::UNSUPPORTED) + if (securityType != WifiNetworkData::SECURITY_TYPE::UNSUPPORTED) securityTypes.append(securityType); } - Network network(macAddress, ssid, securityTypes, Network::STATUS::NOT_CONNECTED, signalLevel); + WifiNetworkData network(macAddress, ssid, securityTypes, WifiNetworkData::STATUS::NOT_CONNECTED, signalLevel); networks.append(network); emit didAddNetwork(network); } @@ -400,7 +400,7 @@ * \param vMacAddress - (QString) the mac address of the network to join * \param vPassword - (QString) the password for the network provided by the user */ -void WifiInterface::doJoinNetwork(const Network &vNetwork, const QString &vPassword) +void WifiInterface::doJoinNetwork(const WifiNetworkData &vNetwork, const QString &vPassword) { _network = vNetwork; _useDHCP = true; @@ -414,13 +414,13 @@ return; } QString securityType; - if (vNetwork.securityTypes().contains(Network::SECURITY_TYPE::WPA2_AES)) + if (vNetwork.securityTypes().contains(WifiNetworkData::SECURITY_TYPE::WPA2_AES)) securityType = "wpa2"; - else if (vNetwork.securityTypes().contains(Network::SECURITY_TYPE::WPA_TKIP_AES) - || vNetwork.securityTypes().contains(Network::SECURITY_TYPE::WPA_AES) - || vNetwork.securityTypes().contains(Network::SECURITY_TYPE::WPA_TKIP)) + 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)) securityType = "wpa"; - else if (vNetwork.securityTypes().contains(Network::SECURITY_TYPE::WEP)) + else if (vNetwork.securityTypes().contains(WifiNetworkData::SECURITY_TYPE::WEP)) securityType = "wep"; else { @@ -626,7 +626,7 @@ * Disconnects from the specified network * \param vNetwork - (Network) the network to disconnect from */ -void WifiInterface::doDisconnectNetwork(const Network &vNetwork) +void WifiInterface::doDisconnectNetwork(const WifiNetworkData &vNetwork) { LOG_DEBUG(QString("Disconnecting from Network %1").arg(vNetwork.ssid())); if (_processDisconnectNetwork.state() != QProcess::NotRunning) @@ -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 Network::SECURITY_TYPE &type : securityTypes) + for (const WifiNetworkData::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; - Network::SECURITY_TYPE val = Network::SECURITY_TYPE(type.toInt(&ok)); + WifiNetworkData::SECURITY_TYPE val = WifiNetworkData::SECURITY_TYPE(type.toInt(&ok)); if (ok) securityTypes.append(val); } Index: sources/wifi/WifiInterface.h =================================================================== diff -u -r08ab5b3dbe26b4c7b7bb2ac539b1cfd62a4676c7 -rfdda01b86e25893f54de3d25e83ad0e8f5484a57 --- sources/wifi/WifiInterface.h (.../WifiInterface.h) (revision 08ab5b3dbe26b4c7b7bb2ac539b1cfd62a4676c7) +++ sources/wifi/WifiInterface.h (.../WifiInterface.h) (revision fdda01b86e25893f54de3d25e83ad0e8f5484a57) @@ -7,7 +7,7 @@ // Project #include "main.h" -#include "Network.h" +#include "MWifiNetwork.h" // define #define _WifiInterface WifiInterface::I() @@ -49,7 +49,7 @@ QProcess _processSetStaticGateway; QProcess _processSetStaticSubnetMask; QProcess _processSetDNS; - Network _network; + WifiNetworkData _network; const QString _iface = "wlan0"; const QString _wpaSupplicantConfPath = "/etc/wpa_supplicant.conf"; @@ -59,7 +59,7 @@ private: QString getTextBetweenDelimiters(const QString &vText, const QString &vLeftDelim, const QString &vRightDelim); - QList parseWifiScan(const QString &vOutput); + QList parseWifiScan(const QString &vOutput); QString parseIP(const QString &vOutput); QString parseBroadcast(const QString &vOutput); QString parseSubnetMask(const QString &vOutput); @@ -70,10 +70,10 @@ void initThread(QThread &vThread); void quitThread(); bool hasConnectedToWifi(); - Network getLastWifiNetworkConnectedTo(); + 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(); @@ -82,8 +82,8 @@ bool init(QThread &vThread); bool init(); void doScan(); - void doJoinNetwork(const Network &vNetwork, const QString &vPassword); - void doDisconnectNetwork(const Network &vNetwork); + void doJoinNetwork(const WifiNetworkData &vNetwork, const QString &vPassword); + void doDisconnectNetwork(const WifiNetworkData &vNetwork); void doRequestIPSettings(); // static IP address assignment @@ -94,8 +94,8 @@ signals: void didStart(QPrivateSignal); - void didAddNetwork(const Network); - void didDisconnectNetwork(const Network); + void didAddNetwork(const WifiNetworkData); + void didDisconnectNetwork(const WifiNetworkData); void didRejectRequest(const QString &vFunction, const QString &vReason); void didBusyChanged(const bool &vBusy); void didStatusChanged(const QString &vNewStatus); @@ -108,7 +108,7 @@ // emitted from separate threads void didScanStatusChanged(const bool); - void didConnectToNetwork(const Network); + void didConnectToNetwork(const WifiNetworkData); void didError(const QString); private slots: Index: unittests/tst_utilities.cpp =================================================================== diff -u -r13ac42cf8bdc5038dedd3302ba79dc387e5704b4 -rfdda01b86e25893f54de3d25e83ad0e8f5484a57 --- unittests/tst_utilities.cpp (.../tst_utilities.cpp) (revision 13ac42cf8bdc5038dedd3302ba79dc387e5704b4) +++ unittests/tst_utilities.cpp (.../tst_utilities.cpp) (revision fdda01b86e25893f54de3d25e83ad0e8f5484a57) @@ -411,17 +411,17 @@ " Encryption key:on \n" " Quality=167/0 Signal level=-89 dBm Noise level=0 dBm \n" " Extra: Age: 5651"; - QList networks; - networks.append(Network("7C:57:3C:FE:4C:D5", "DialityWAPB", {Network::SECURITY_TYPE::WPA2_AES }, Network::STATUS::NOT_CONNECTED, -80)); - networks.append(Network("7C:57:3C:FE:4C:D0", "Diality Guest", {Network::SECURITY_TYPE::WPA2_AES }, Network::STATUS::NOT_CONNECTED, -80)); - networks.append(Network("7C:57:3C:FE:4C:D4", "DialityWAPA", {Network::SECURITY_TYPE::WPA_TKIP_AES}, Network::STATUS::NOT_CONNECTED, -81)); - networks.append(Network("7C:57:3C:FE:4C:D3", "DialityWEP", {Network::SECURITY_TYPE::WEP }, Network::STATUS::NOT_CONNECTED, -81)); - networks.append(Network("7C:57:3C:FE:4C:D2", "DilaityIoT", {Network::SECURITY_TYPE::WPA2_AES }, Network::STATUS::NOT_CONNECTED, -81)); - networks.append(Network("7C:57:3C:FE:4C:D1", "DialityHQ", {Network::SECURITY_TYPE::WPA2_AES }, Network::STATUS::NOT_CONNECTED, -81)); - networks.append(Network("7C:57:3C:FE:4C:C2", "DilaityIoT", {Network::SECURITY_TYPE::WPA2_AES }, Network::STATUS::NOT_CONNECTED, -87)); - networks.append(Network("7C:57:3C:FE:4C:C4", "DialityWAPA", {Network::SECURITY_TYPE::WPA_TKIP_AES}, Network::STATUS::NOT_CONNECTED, -89)); - networks.append(Network("7C:57:3C:FE:4C:C0", "Diality Guest", {Network::SECURITY_TYPE::WPA2_AES }, Network::STATUS::NOT_CONNECTED, -89)); - QList parsedNetworks = _WifiInterface.parseWifiScan(output); + QList networks; + networks.append(WifiNetworkData("7C:57:3C:FE:4C:D5", "DialityWAPB", {WifiNetworkData::SECURITY_TYPE::WPA2_AES }, WifiNetworkData::STATUS::NOT_CONNECTED, -80)); + networks.append(WifiNetworkData("7C:57:3C:FE:4C:D0", "Diality Guest", {WifiNetworkData::SECURITY_TYPE::WPA2_AES }, WifiNetworkData::STATUS::NOT_CONNECTED, -80)); + networks.append(WifiNetworkData("7C:57:3C:FE:4C:D4", "DialityWAPA", {WifiNetworkData::SECURITY_TYPE::WPA_TKIP_AES}, WifiNetworkData::STATUS::NOT_CONNECTED, -81)); + networks.append(WifiNetworkData("7C:57:3C:FE:4C:D3", "DialityWEP", {WifiNetworkData::SECURITY_TYPE::WEP }, WifiNetworkData::STATUS::NOT_CONNECTED, -81)); + networks.append(WifiNetworkData("7C:57:3C:FE:4C:D2", "DilaityIoT", {WifiNetworkData::SECURITY_TYPE::WPA2_AES }, WifiNetworkData::STATUS::NOT_CONNECTED, -81)); + networks.append(WifiNetworkData("7C:57:3C:FE:4C:D1", "DialityHQ", {WifiNetworkData::SECURITY_TYPE::WPA2_AES }, WifiNetworkData::STATUS::NOT_CONNECTED, -81)); + networks.append(WifiNetworkData("7C:57:3C:FE:4C:C2", "DilaityIoT", {WifiNetworkData::SECURITY_TYPE::WPA2_AES }, WifiNetworkData::STATUS::NOT_CONNECTED, -87)); + networks.append(WifiNetworkData("7C:57:3C:FE:4C:C4", "DialityWAPA", {WifiNetworkData::SECURITY_TYPE::WPA_TKIP_AES}, WifiNetworkData::STATUS::NOT_CONNECTED, -89)); + networks.append(WifiNetworkData("7C:57:3C:FE:4C:C0", "Diality Guest", {WifiNetworkData::SECURITY_TYPE::WPA2_AES }, WifiNetworkData::STATUS::NOT_CONNECTED, -89)); + QList parsedNetworks = _WifiInterface.parseWifiScan(output); QCOMPARE(parsedNetworks.length(), networks.length()); for (int i = 0; i < networks.length(); ++i) { Index: unittests/tst_utilities.h =================================================================== diff -u -r13ac42cf8bdc5038dedd3302ba79dc387e5704b4 -rfdda01b86e25893f54de3d25e83ad0e8f5484a57 --- unittests/tst_utilities.h (.../tst_utilities.h) (revision 13ac42cf8bdc5038dedd3302ba79dc387e5704b4) +++ unittests/tst_utilities.h (.../tst_utilities.h) (revision fdda01b86e25893f54de3d25e83ad0e8f5484a57) @@ -17,7 +17,7 @@ #include #include -#include "Network.h" +#include "MWifiNetwork.h" class tst_utilities : public QObject {