diff --git a/sources/3rdparty/task b/sources/3rdparty/task
index d279820..dd52af0 160000
--- a/sources/3rdparty/task
+++ b/sources/3rdparty/task
@@ -1 +1 @@
-Subproject commit d2798204a1a84a23a9510aeda73d5b9b75d2c8eb
+Subproject commit dd52af08c9d6a2c8652d2d5e21bc2a433efb497a
diff --git a/sources/gui/docs/netctl-gui-dbus-api.html b/sources/gui/docs/netctl-gui-dbus-api.html
index 09de81a..888d85f 100644
--- a/sources/gui/docs/netctl-gui-dbus-api.html
+++ b/sources/gui/docs/netctl-gui-dbus-api.html
@@ -290,12 +290,12 @@ small {
- QString ActiveProfile() |
+ QStringList ActiveProfile() |
returns active profile from netctl or netctl-auto |
no |
- QString ActiveProfileStatus() |
+ QStringList ActiveProfileStatus() |
returns active profile status from netctl or netctl-auto. May be netctl-auto , active (enabled) , active (static) , inactive (enabled) , inactive (static) |
no |
@@ -305,7 +305,7 @@ small {
no |
- QString netctlActiveProfile() |
+ QStringList netctlActiveProfile() |
returns active profile from netctl even if netctl-auto is running |
no |
diff --git a/sources/gui/src/calls.cpp b/sources/gui/src/calls.cpp
index 5f1f7ff..0edb9d7 100644
--- a/sources/gui/src/calls.cpp
+++ b/sources/gui/src/calls.cpp
@@ -177,7 +177,7 @@ InterfaceAnswer connectToEssid(const QString essid, QMap settin
}
-netctlInformation generalInformation(NetctlInterface* interface, const bool useHelper,
+netctlInformation generalInformation(NetctlInterface *interface, const bool useHelper,
const bool debug)
{
if (debug) qDebug() << PDEBUG;
@@ -204,7 +204,7 @@ netctlInformation generalInformation(NetctlInterface* interface, const bool useH
}
-QMap profileInformation(const QString profile, NetctlInterface* interface,
+QMap profileInformation(const QString profile, NetctlInterface *interface,
const bool useHelper, const bool debug)
{
if (!useHelper) return interface->profileSettings(profile);
diff --git a/sources/helper/src/netctladaptor.cpp b/sources/helper/src/netctladaptor.cpp
index 6c3ebd6..2ba1f53 100644
--- a/sources/helper/src/netctladaptor.cpp
+++ b/sources/helper/src/netctladaptor.cpp
@@ -39,25 +39,25 @@ NetctlAdaptor::~NetctlAdaptor()
// netctlCommand
-QString NetctlAdaptor::ActiveProfile()
+QStringList NetctlAdaptor::ActiveProfile()
{
if (isNetctlAutoActive())
return netctlCommand->autoGetActiveProfile();
else
- return netctlCommand->getActiveProfile().join(QChar('|'));
+ return netctlCommand->getActiveProfile();
}
-QString NetctlAdaptor::ActiveProfileStatus()
+QStringList NetctlAdaptor::ActiveProfileStatus()
{
if (isNetctlAutoActive())
- return QString("netctl-auto");
+ return QStringList() << QString("netctl-auto");
else {
QStringList status;
- QStringList profiles = ActiveProfile().split(QChar('|'));
+ QStringList profiles = ActiveProfile();
for (int i=0; igetProfileStatus(profiles[i]));
- return status.join(QChar('|'));
+ return status;
}
}
@@ -108,9 +108,9 @@ bool NetctlAdaptor::isProfileEnabled(const QString profile)
}
-QString NetctlAdaptor::netctlActiveProfile()
+QStringList NetctlAdaptor::netctlActiveProfile()
{
- return netctlCommand->getActiveProfile().join(QChar('|'));
+ return netctlCommand->getActiveProfile();
}
diff --git a/sources/helper/src/netctladaptor.h b/sources/helper/src/netctladaptor.h
index 5fe3c93..1d07f6a 100644
--- a/sources/helper/src/netctladaptor.h
+++ b/sources/helper/src/netctladaptor.h
@@ -37,8 +37,8 @@ public:
public slots:
// netctlCommand
- QString ActiveProfile();
- QString ActiveProfileStatus();
+ QStringList ActiveProfile();
+ QStringList ActiveProfileStatus();
bool autoIsProfileActive(const QString profile);
bool autoIsProfileEnabled(const QString profile);
QStringList Information();
@@ -46,7 +46,7 @@ public slots:
bool isNetctlAutoEnabled();
bool isProfileActive(const QString profile);
bool isProfileEnabled(const QString profile);
- QString netctlActiveProfile();
+ QStringList netctlActiveProfile();
QStringList netctlProfileList();
QStringList netctlVerboseProfileList();
QStringList ProfileList();
diff --git a/sources/netctlgui/include/netctlgui/netctlinteract.h b/sources/netctlgui/include/netctlgui/netctlinteract.h
index 8744bc2..9f6324c 100644
--- a/sources/netctlgui/include/netctlgui/netctlinteract.h
+++ b/sources/netctlgui/include/netctlgui/netctlinteract.h
@@ -30,10 +30,9 @@
#include
#include
-#include "version.h"
-
class NetctlProfile;
+struct TaskResult;
/**
* @struct netctlProfileInfo
@@ -94,81 +93,75 @@ public:
/**
* @brief Netctl class destructor
*/
- ~Netctl();
+ virtual ~Netctl();
// general information
/**
* @brief method which returns active profile name
- * @return profile name or ""
+ * @return Netctl::getActiveProfileTemplate()
*/
- QStringList getActiveProfile();
+ QStringList getActiveProfile() const;
/**
* @brief method which returns active profile name from netctl-auto
- * @return profile name or ""
+ * @return Netctl::getActiveProfileTemplate()
*/
- QString autoGetActiveProfile();
+ QStringList autoGetActiveProfile() const;
/**
* @brief method which returns profile informations from netctl
- * @return list of profiles
+ * @return Netctl::getProfileListTemplate()
*/
- QList getProfileList();
+ QList getProfileList() const;
/**
* @brief method which returns profile informations from netctl-auto
- * @return list of profiles from netctl-auto
+ * @return Netctl::getProfileListTemplate()
*/
- QList getProfileListFromNetctlAuto();
- /**
- * @brief method which gets description from profile
- * @param profile profile name
- * @return profile description or ""
- */
- Q_DECL_DEPRECATED QString getProfileDescription(const QString profile);
+ QList getProfileListFromNetctlAuto() const;
/**
* @brief method which gets profile status
* @param profile profile name
* @return profile status. It may be "active (enabled)", "active (static)",
* "inactive (enabled)", "inactive (static)"
*/
- QString getProfileStatus(const QString profile);
+ QString getProfileStatus(const QString profile) const;
/**
* @brief method which checks if profile is active
* @param profile profile name
* @return false if profile is inactive
* @return true if profile is active
*/
- bool isProfileActive(const QString profile);
+ bool isProfileActive(const QString profile) const;
/**
* @brief method which checks if profile is enabled
* @param profile profile name
* @return false if profile is disabled
* @return true if profile is enabled
*/
- bool isProfileEnabled(const QString profile);
+ bool isProfileEnabled(const QString profile) const;
/**
* @brief method which checks if profile is active (netctl-auto)
* @param profile profile name
* @return false if profile is inactive
* @return true if profile is active
*/
- bool autoIsProfileActive(const QString profile);
+ bool autoIsProfileActive(const QString profile) const;
/**
* @brief method which checks if profile is enabled (netctl-auto)
* @param profile profile name
* @return false if profile is disabled
* @return true if profile is enabled
*/
- bool autoIsProfileEnabled(const QString profile);
+ bool autoIsProfileEnabled(const QString profile) const;
/**
* @brief method which checks netctl-auto autoload status
* @return false if netctl-auto is disabled
* @return true if netctl-auto is enabled
*/
- bool isNetctlAutoEnabled();
+ bool isNetctlAutoEnabled() const;
/**
* @brief method which checks netctl-auto status
* @return false if netctl-auto is inactive
* @return true if netctl-auto is active
*/
- bool isNetctlAutoRunning();
+ bool isNetctlAutoRunning() const;
/**
* @brief method which check system configuration and return recommended values to keys
* @return recommended parametrs
@@ -178,7 +171,7 @@ public:
* @brief method which gets wireless interface list from PREFERED_IFACE and IFACE_DIR
* @return interface list. If PREFERED_IFACE is not empty it will be first element
*/
- QStringList getWirelessInterfaceList();
+ QStringList getWirelessInterfaceList() const;
public slots:
// functions
@@ -189,101 +182,101 @@ public slots:
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool enableProfile(const QString profile);
+ bool enableProfile(const QString profile) const;
/**
* @brief method which force starts profile
* @param profile profile name
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool forceStartProfile(const QString profile);
+ bool forceStartProfile(const QString profile) const;
/**
* @brief method which force stops profile
* @param profile profile name
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool forceStopProfile(const QString profile);
+ bool forceStopProfile(const QString profile) const;
/**
* @brief method which reenables profile
* @param profile profile name
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool reenableProfile(const QString profile);
+ bool reenableProfile(const QString profile) const;
/**
* @brief method which restarts profile
* @param profile profile name
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool restartProfile(const QString profile);
+ bool restartProfile(const QString profile) const;
/**
* @brief method which starts or stops profile
* @param profile profile name
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool startProfile(const QString profile);
+ bool startProfile(const QString profile) const;
/**
* @brief method which stops all profiles
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool stopAllProfiles();
+ bool stopAllProfiles() const;
/**
* @brief method which starts another profile
* @param profile profile name
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool switchToProfile(const QString profile);
+ bool switchToProfile(const QString profile) const;
// netctl-auto
/**
* @brief method which sets all profiles disabled (netctl-auto)
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool autoDisableAllProfiles();
+ bool autoDisableAllProfiles() const;
/**
* @brief method which sets profile disabled or enabled (netctl-auto)
* @param profile profile name
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool autoEnableProfile(const QString profile);
+ bool autoEnableProfile(const QString profile) const;
/**
* @brief method which sets all profiles enabled (netctl-auto)
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool autoEnableAllProfiles();
+ bool autoEnableAllProfiles() const;
/**
* @brief method which switchs to profile (netctl-auto)
* @param profile profile name
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool autoStartProfile(const QString profile);
+ bool autoStartProfile(const QString profile) const;
// netctl-auto service
/**
* @brief method which sets netctl-auto service enabled or disabled
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool autoEnableService();
+ bool autoEnableService() const;
/**
* @brief method which restarted netctl-auto service
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool autoRestartService();
+ bool autoRestartService() const;
/**
* @brief method which starts or stops netctl-auto service
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool autoStartService();
+ bool autoStartService() const;
private:
/**
@@ -297,7 +290,7 @@ private:
/**
* @brief use RootProcess instead of QProcess. Default is true
*/
- bool useSuid = true;
+ bool useSuid;
/**
* @brief directory with interfaces. Default is "/sys/class/net/"
*/
@@ -305,27 +298,27 @@ private:
/**
* @brief prefered interface for WiFi. Default is ""
*/
- QString mainInterface = QString(PREFERED_IFACE);
+ QString mainInterface;
/**
* @brief path to netctl command. Default is "netctl"
*/
- QString netctlCommand = QString(NETCTL_PATH);
+ QString netctlCommand;
/**
* @brief path to netctl-auto command. Default is "netctl-auto"
*/
- QString netctlAutoCommand = QString(NETCTLAUTO_PATH);
+ QString netctlAutoCommand;
/**
* @brief netctl-auto service name. Default is "netctl-auto"
*/
- QString netctlAutoService = QString(NETCTLAUTO_SERVICE);
+ QString netctlAutoService;
/**
* @brief path to sudo command. Default is "kdesu"
*/
- QString sudoCommand = QString(SUDO_PATH);
+ QString sudoCommand;
/**
* @brief path to systemctl command. Default is "systemctl"
*/
- QString systemctlCommand = QString(SYSTEMCTL_PATH);
+ QString systemctlCommand;
// functions
/**
* @brief method which calls command
@@ -333,21 +326,22 @@ private:
* @param command command which will be called
* @param commandLine command which will be passed to command
* @param argument argument which will be passed to commandLine
- * @return false if components are not found or command exit code is not equal to 0
- * @return true if the method was completed without errors
+ * @return process object
*/
- bool cmdCall(const bool sudo, const QString command,
- const QString commandLine, const QString argument = 0);
+ TaskResult cmdCall(const bool sudo, const QString command,
+ const QString commandLine, const QString argument = QString()) const;
/**
- * @brief method which calls command and returns its output
- * @param sudo set true if sudo is needed
- * @param command command which will be called
- * @param commandLine command which will be passed to command
- * @param argument argument which will be passed to commandLine
- * @return command output
+ * @brief method which parse output for profile data
+ * @param data profile list data
+ * @return list of active profiles if any
*/
- QString getCmdOutput(const bool sudo, const QString command,
- const QString commandLine, const QString argument = 0);
+ QStringList getActiveProfileTemplate(const QList data) const;
+ /**
+ * @brief get profile list from sources
+ * @param isAuto use netctl-auto instead of netctl
+ * @return profile list
+ */
+ QList getProfileListTemplate(const bool isAuto) const;
};
diff --git a/sources/netctlgui/include/netctlgui/netctlinterface.h b/sources/netctlgui/include/netctlgui/netctlinterface.h
index 09660a9..3cf7dad 100644
--- a/sources/netctlgui/include/netctlgui/netctlinterface.h
+++ b/sources/netctlgui/include/netctlgui/netctlinterface.h
@@ -109,7 +109,7 @@ public:
/**
* @brief NetctlInterface class destructor
*/
- ~NetctlInterface();
+ virtual ~NetctlInterface();
// control methods
/**
* @brief method which creates and copies profile
@@ -120,7 +120,7 @@ public:
* @return InterfaceAnswer::True if profile is created
* @return InterfaceAnswer::Error if an error occurs
*/
- InterfaceAnswer createProfile(const QString profile, const QMap settings);
+ InterfaceAnswer createProfile(const QString profile, const QMap settings) const;
/**
* @brief method which connects to ESSID
* @remark netctl independ
@@ -130,7 +130,7 @@ public:
* @return InterfaceAnswer::True if profile is active
* @return InterfaceAnswer::Error if an error occurs
*/
- InterfaceAnswer connectToEssid(const QString essid, QMap settings);
+ InterfaceAnswer connectToEssid(const QString essid, QMap settings) const;
/**
* @brief method which connects to existent profile by ESSID
* @remark netctl independ
@@ -139,7 +139,7 @@ public:
* @return InterfaceAnswer::True if profile is active
* @return InterfaceAnswer::Error if an error occurs
*/
- InterfaceAnswer connectToKnownEssid(const QString essid);
+ InterfaceAnswer connectToKnownEssid(const QString essid) const;
/**
* @brief method which creates wireless profile and connects to it
* @remark netctl independ
@@ -149,7 +149,7 @@ public:
* @return InterfaceAnswer::True if profile is active
* @return InterfaceAnswer::Error if an error occurs
*/
- InterfaceAnswer connectToUnknownEssid(const QString essid, QMap settings);
+ InterfaceAnswer connectToUnknownEssid(const QString essid, QMap settings) const;
/**
* @brief method which enables or disables selected profile and returns its status
* @remark netctl only
@@ -158,7 +158,7 @@ public:
* @return InterfaceAnswer::True if profile is enabled
* @return InterfaceAnswer::Error if an error occurs
*/
- InterfaceAnswer enableProfile(const QString profile);
+ InterfaceAnswer enableProfile(const QString profile) const;
/**
* @brief method which removes selected profile
* @remark netctl independ
@@ -166,7 +166,7 @@ public:
* @return InterfaceAnswer::True if profile does not exists anymore
* @return InterfaceAnswer::Error if an error occurs
*/
- InterfaceAnswer removeProfile(const QString profile);
+ InterfaceAnswer removeProfile(const QString profile) const;
/**
* @brief method which restarts selected profile and returns its status
* @remark netctl only
@@ -175,7 +175,7 @@ public:
* @return InterfaceAnswer::True if profile is active
* @return InterfaceAnswer::Error if an error occurs
*/
- InterfaceAnswer restartProfile(const QString profile);
+ InterfaceAnswer restartProfile(const QString profile) const;
/**
* @brief method which starts/stops or switchs to selected profile and returns its status
* @remark netctl only
@@ -184,14 +184,14 @@ public:
* @return InterfaceAnswer::True if profile is active
* @return InterfaceAnswer::Error if an error occurs
*/
- InterfaceAnswer startProfile(const QString profile);
+ InterfaceAnswer startProfile(const QString profile) const;
/**
* @brief method which stops all profiles
* @remark netctl only
* @return InterfaceAnswer::True if there are no errors
* @return InterfaceAnswer::Error if an error occurs
*/
- InterfaceAnswer stopAllProfiles();
+ InterfaceAnswer stopAllProfiles() const;
/**
* @brief method which switchs to selected profile and returns its status
* @remark both netctl and netctl-auto
@@ -200,26 +200,26 @@ public:
* @return InterfaceAnswer::True if profile is active
* @return InterfaceAnswer::Error if an error occurs
*/
- InterfaceAnswer switchToProfile(const QString profile);
+ InterfaceAnswer switchToProfile(const QString profile) const;
// information
/**
* @brief method which returns general information
* @remark both netctl and netctl-auto
* @return netctlInformation structure
*/
- netctlInformation information();
+ netctlInformation information() const;
/**
* @brief method which reads settings from profile
* @param profile profile name
* @return settings from profile
*/
- QMap profileSettings(const QString profile);
+ QMap profileSettings(const QString profile) const;
/**
* @brief method which returns current status
* @remark both netctl and netctl-auto
* @return netctlCurrent structure
*/
- netctlCurrent status();
+ netctlCurrent status() const;
private:
/**
diff --git a/sources/netctlgui/include/netctlgui/netctlprofile.h b/sources/netctlgui/include/netctlgui/netctlprofile.h
index 9ed35a2..8bbf97f 100644
--- a/sources/netctlgui/include/netctlgui/netctlprofile.h
+++ b/sources/netctlgui/include/netctlgui/netctlprofile.h
@@ -30,8 +30,6 @@
#include
#include
-#include "version.h"
-
/**
* @brief The NetctlProfile class interacts with netctl profiles
@@ -54,21 +52,21 @@ public:
/**
* @brief Netctl class destructor
*/
- ~NetctlProfile();
+ virtual ~NetctlProfile();
/**
* @brief method which copies temporary profile to PROFILE_DIR
* @param oldPath path to temprorary profile
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool copyProfile(const QString oldPath);
+ bool copyProfile(const QString oldPath) const;
/**
* @brief method which creates temporary profile
* @param profile profile name
* @param settings profile configuration. All available keys will be printed to the profile
* @return temporary profile name
*/
- QString createProfile(const QString profile, const QMap settings);
+ QString createProfile(const QString profile, const QMap settings) const;
/**
* @brief method which check system configuration and return recommended values to keys
* @return recommended parametrs
@@ -79,28 +77,28 @@ public:
* @param profile profile name
* @return settings from profile
*/
- QMap getSettingsFromProfile(const QString profile);
+ QMap getSettingsFromProfile(const QString profile) const;
/**
* @brief method which return value from profile by key
* @param profile profile name
* @param key required key
* @return value by key
*/
- QString getValueFromProfile(const QString profile, const QString key);
+ QString getValueFromProfile(const QString profile, const QString key) const;
/**
* @brief method which return values from profile by keys
* @param profile profile name
* @param keys required keys
* @return values by keys
*/
- QStringList getValuesFromProfile(const QString profile, const QStringList keys);
+ QStringList getValuesFromProfile(const QString profile, const QStringList keys) const;
/**
* @brief method which removes profile
* @param profile profile name
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool removeProfile(const QString profile);
+ bool removeProfile(const QString profile) const;
private:
/**
@@ -110,7 +108,7 @@ private:
/**
* @brief use RootProcess instead of QProcess. Default is true
*/
- bool useSuid = true;
+ bool useSuid;
/**
* @brief directory which contains profiles. Default is "/etc/netctl"
*/
@@ -118,7 +116,7 @@ private:
/**
* @brief path to sudo command. Default is "kdesu"
*/
- QString sudoCommand = QString(SUDO_PATH);
+ QString sudoCommand;
};
diff --git a/sources/netctlgui/include/netctlgui/wpasupinteract.h b/sources/netctlgui/include/netctlgui/wpasupinteract.h
index 8375bf1..d1e8903 100644
--- a/sources/netctlgui/include/netctlgui/wpasupinteract.h
+++ b/sources/netctlgui/include/netctlgui/wpasupinteract.h
@@ -30,8 +30,6 @@
#include
#include
-#include "version.h"
-
class Netctl;
class NetctlProfile;
@@ -113,14 +111,14 @@ public:
/**
* @brief WpaSup class destructor
*/
- ~WpaSup();
+ virtual ~WpaSup();
// general information
/**
* @brief method which gets profile name by ESSID
* @param essid ESSID name
* @return profile name
*/
- QString existentProfile(const QString essid);
+ QString existentProfile(const QString essid) const;
/**
* @brief method which check system configuration and return recommended values to keys
* @return recommended parametrs
@@ -132,14 +130,7 @@ public:
* @return false if profile is inactive
* @return true if profile is active
*/
- bool isProfileActive(const QString essid);
- /**
- * @brief method which checks profile existence by ESSID
- * @param essid ESSID name
- * @return false if profile does not exist
- * @return true if profile exists
- */
- Q_DECL_DEPRECATED bool isProfileExists(const QString essid);
+ bool isProfileActive(const QString essid) const;
public slots:
// functions
@@ -147,24 +138,24 @@ public slots:
* @brief method which returns active point information
* @return current point information
*/
- netctlWifiInfo current();
+ netctlWifiInfo current() const;
/**
* @brief method which scans WiFi networks
* @return list of essids
*/
- QList scanWifi();
+ QList scanWifi() const;
/**
* @brief method which calls wpa_supplicant
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool startWpaSupplicant();
+ bool startWpaSupplicant() const;
/**
* @brief method which send TERMINATE signal to wpa_supplicant
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool stopWpaSupplicant();
+ bool stopWpaSupplicant() const;
private:
/**
@@ -182,54 +173,54 @@ private:
/**
* @brief use RootProcess instead of QProcess. Default is true
*/
- bool useSuid = true;
+ bool useSuid;
/**
* @brief path to ctrl_directory. Defaults is "/run/wpa_supplicant"
*/
- QString ctrlDir = QString(CTRL_DIR);
+ QString ctrlDir;
/**
* @brief group which is owner of CTRL_DIR. Default is "users"
*/
- QString ctrlGroup = QString(CTRL_GROUP);
+ QString ctrlGroup;
/**
* @brief wpa_supplicant PID file. $i is interface. Default is "/run/wpa_supplicant_$i.pid"
*/
- QString pidFile = QString(PID_FILE);
+ QString pidFile;
/**
* @brief path to sudo command. Default is "kdesu"
*/
- QString sudoCommand = QString(SUDO_PATH);
+ QString sudoCommand;
/**
* @brief path to wpa_cli command. Default is "wpa_cli"
*/
- QString wpaCliPath = QString(WPACLI_PATH);
+ QString wpaCliPath;
/**
* @brief wpa_supplicant drivers comma separated. Default is "nl80211,wext"
*/
- QString wpaDrivers = QString(WPA_DRIVERS);
+ QString wpaDrivers;
/**
* @brief path to wpa_supplicant command. Default is "wpa_supplicant"
*/
- QString wpaSupPath = QString(WPASUP_PATH);
+ QString wpaSupPath;
// functions
/**
* @brief method which calls wpa_cli and returns its output
* @param commandLine command which will be passed to wpa_cli
* @return wpa_cli output
*/
- QString getWpaCliOutput(const QString commandLine);
+ QString getWpaCliOutput(const QString commandLine) const;
/**
* @brief method which will be called to sleep thread
* @param sec time interval, seconds
*/
- bool waitForProcess(const int sec);
+ bool waitForProcess(const int sec) const;
/**
* @brief method which calls wpa_cli
* @param commandLine command which will be passed to wpa_cli
* @return false if components are not found or command exit code is not equal to 0
* @return true if the method was completed without errors
*/
- bool wpaCliCall(const QString commandLine);
+ bool wpaCliCall(const QString commandLine) const;
};
diff --git a/sources/netctlgui/src/netctlinteract.cpp b/sources/netctlgui/src/netctlinteract.cpp
index 89234c5..b1a6294 100644
--- a/sources/netctlgui/src/netctlinteract.cpp
+++ b/sources/netctlgui/src/netctlinteract.cpp
@@ -30,6 +30,8 @@
#include
#include
+#include "version.h"
+
/**
* @class Netctl
@@ -42,27 +44,16 @@ Netctl::Netctl(const bool debugCmd, const QMap settings)
{
netctlProfile = new NetctlProfile(debug, settings);
- if (settings.contains(QString("IFACE_DIR")))
- ifaceDirectory = new QDir(settings[QString("IFACE_DIR")]);
- else
- ifaceDirectory = new QDir(QString(IFACE_DIR));
- if (settings.contains(QString("PREFERED_IFACE")))
- mainInterface = settings[QString("PREFERED_IFACE")];
- if (settings.contains(QString("NETCTL_PATH")))
- netctlCommand = settings[QString("NETCTL_PATH")];
- if (settings.contains(QString("NETCTLAUTO_PATH")))
- netctlAutoCommand = settings[QString("NETCTLAUTO_PATH")];
- if (settings.contains(QString("NETCTLAUTO_SERVICE")))
- netctlAutoService = settings[QString("NETCTLAUTO_SERVICE")];
- if (settings.contains(QString("SUDO_PATH")))
- sudoCommand = settings[QString("SUDO_PATH")];
- if (settings.contains(QString("SYSTEMCTL_PATH")))
- systemctlCommand = settings[QString("SYSTEMCTL_PATH")];
- if (settings.contains(QString("FORCE_SUDO")))
- useSuid = (settings[QString("FORCE_SUDO")] != QString("true"));
+ ifaceDirectory = new QDir(settings.value(QString("IFACE_DIR"), QString(IFACE_DIR)));
+ mainInterface = settings.value(QString("PREFERED_IFACE"), QString(PREFERED_IFACE));
+ netctlCommand = settings.value(QString("NETCTL_PATH"), QString(NETCTL_PATH));
+ netctlAutoCommand = settings.value(QString("NETCTLAUTO_PATH"), QString(NETCTLAUTO_PATH));
+ netctlAutoService = settings.value(QString("NETCTLAUTO_SERVICE"), QString(NETCTLAUTO_SERVICE));
+ sudoCommand = settings.value(QString("SUDO_PATH"), QString(SUDO_PATH));
+ systemctlCommand = settings.value(QString("SYSTEMCTL_PATH"), QString(SYSTEMCTL_PATH));
+ useSuid = (settings.value(QString("FORCE_SUDO"), QString("true")) != QString("true"));
- if (useSuid)
- sudoCommand = QString("");
+ if (useSuid) sudoCommand = QString("");
}
@@ -78,207 +69,61 @@ Netctl::~Netctl()
}
-// functions
-/**
- * @fn cmdCall
- */
-bool Netctl::cmdCall(const bool sudo, const QString command, const QString commandLine, const QString argument)
-{
- if (debug) qDebug() << PDEBUG;
- if (debug) qDebug() << PDEBUG << ":" << "Command" << command;
- if (debug) qDebug() << PDEBUG << ":" << "Command line" << commandLine;
- if (debug) qDebug() << PDEBUG << ":" << "Argument" << argument;
- if (command.isEmpty()) {
- if (debug) qDebug() << PDEBUG << ":" << "Could not find command";
- return false;
- }
-
- QString cmd = QString("");
- if (sudo)
- cmd = QString("%1 ").arg(sudoCommand);
- cmd += QString("%1 %2").arg(command).arg(commandLine);
- if (!argument.isEmpty())
- cmd += QString(" \"%1\"").arg(argument);
- if (debug) qDebug() << PDEBUG << ":" << "Run cmd" << cmd;
- TaskResult process = runTask(cmd, (useSuid && sudo));
- if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
- if (process.exitCode != 0)
- if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
-
- return (process.exitCode == 0);
-}
-
-
-/**
- * @fn getCmdOutput
- */
-QString Netctl::getCmdOutput(const bool sudo, const QString command, const QString commandLine, const QString argument)
-{
- if (debug) qDebug() << PDEBUG;
- if (debug) qDebug() << PDEBUG << ":" << "Command" << command;
- if (debug) qDebug() << PDEBUG << ":" << "Command line" << commandLine;
- if (debug) qDebug() << PDEBUG << ":" << "Argument" << argument;
- if (command.isEmpty()) {
- if (debug) qDebug() << PDEBUG << ":" << "Could not find command";
- return QString();
- }
-
- QString cmd = QString("");
- if (sudo)
- cmd = QString("%1 ").arg(sudoCommand);
- cmd += QString("%1 %2").arg(command).arg(commandLine);
- if (!argument.isEmpty())
- cmd += QString(" \"%1\"").arg(argument);
- if (debug) qDebug() << PDEBUG << ":" << "Run cmd" << cmd;
- TaskResult process = runTask(cmd, (useSuid && sudo));
- if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
- if (process.exitCode != 0)
- if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
-
- return process.output;
-}
-
-
// general information
/**
* @fn getActiveProfile
*/
-QStringList Netctl::getActiveProfile()
+QStringList Netctl::getActiveProfile() const
{
if (debug) qDebug() << PDEBUG;
- QStringList profile;
- QList fullProfilesInfo = getProfileList();
- for (int i=0; i fullProfilesInfo = getProfileListFromNetctlAuto();
- for (int i=0; i Netctl::getProfileList()
+QList Netctl::getProfileList() const
{
if (debug) qDebug() << PDEBUG;
- QList fullProfilesInfo;
- QStringList output = getCmdOutput(false, netctlCommand, QString("list"))
- .split(QChar('\n'), QString::SkipEmptyParts);
- for (int i=0; igetValuesFromProfile(profileInfo.name,
- keys);
- profileInfo.description = profileValues[1];
- profileInfo.essid = profileValues[2];
- profileInfo.interface = profileValues[3];
- profileInfo.type = profileValues[0];
- profileInfo.netctlAuto = false;
- fullProfilesInfo.append(profileInfo);
- }
-
- return fullProfilesInfo;
+ return getProfileListTemplate(false);
}
/**
* @fn getProfileListFromNetctlAuto
*/
-QList Netctl::getProfileListFromNetctlAuto()
+QList Netctl::getProfileListFromNetctlAuto() const
{
if (debug) qDebug() << PDEBUG;
- QList fullProfilesInfo;
- QStringList output = getCmdOutput(false, netctlAutoCommand, QString("list"))
- .split(QChar('\n'), QString::SkipEmptyParts);
- for (int i=0; igetValuesFromProfile(profileInfo.name,
- keys);
- profileInfo.description = profileValues[1];
- profileInfo.essid = profileValues[2];
- profileInfo.interface = profileValues[3];
- profileInfo.type = profileValues[0];
- profileInfo.netctlAuto = true;
- fullProfilesInfo.append(profileInfo);
- }
-
- return fullProfilesInfo;
-}
-
-
-/**
- * @fn getProfileDescription
- */
-QString Netctl::getProfileDescription(const QString profile)
-{
- if (debug) qDebug() << PDEBUG;
- if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
- if (netctlProfile == 0) {
- if (debug) qDebug() << PDEBUG << ":" << "Could not find library";
- return QString();
- }
-
- return netctlProfile->getValueFromProfile(profile, QString("Description"));
+ return getProfileListTemplate(true);
}
/**
* @fn getProfileStatus
*/
-QString Netctl::getProfileStatus(const QString profile)
+QString Netctl::getProfileStatus(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
- QString status;
- if (isProfileActive(profile))
- status = QString("active");
- else
- status = QString("inactive");
- if (isProfileEnabled(profile))
- status += QString(" (enabled)");
- else
- status += QString(" (static)");
+ QString status = isProfileActive(profile) ? QString("active") : QString("inactive");
+ status += isProfileEnabled(profile) ? QString(" (enabled)") : QString(" (static)");
return status;
}
@@ -287,42 +132,40 @@ QString Netctl::getProfileStatus(const QString profile)
/**
* @fn isProfileActive
*/
-bool Netctl::isProfileActive(const QString profile)
+bool Netctl::isProfileActive(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
- QString output = getCmdOutput(false, netctlCommand, QString("status"), profile);
-
- return (output.contains(QString("Active: active")));
+ return cmdCall(false, netctlCommand, QString("status"), profile).status();
}
/**
* @fn isProfileEnabled
*/
-bool Netctl::isProfileEnabled(const QString profile)
+bool Netctl::isProfileEnabled(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
- return cmdCall(false, netctlCommand, QString("is-enabled"), profile);
+ return cmdCall(false, netctlCommand, QString("is-enabled"), profile).status();
}
/**
* @fn autoIsProfileActive
*/
-bool Netctl::autoIsProfileActive(const QString profile)
+bool Netctl::autoIsProfileActive(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
bool status = false;
QList profiles = getProfileListFromNetctlAuto();
- for (int i=0; i profiles = getProfileListFromNetctlAuto();
- for (int i=0; i Netctl::getRecommendedConfiguration()
recommended.clear();
recommended.append(QString("netctlgui-helper"));
recommended.append(QString("netctlgui-helper-suid"));
- for (int i=0; i Netctl::getRecommendedConfiguration()
settings[QString("NETCTL_PATH")] = QString("");
recommended.clear();
recommended.append("netctl");
- for (int i=0; i Netctl::getRecommendedConfiguration()
settings[QString("NETCTLAUTO_PATH")] = QString("");
recommended.clear();
recommended.append("netctl-auto");
- for (int i=0; i Netctl::getRecommendedConfiguration()
recommended.append("sudo");
recommended.append("kdesu");
recommended.append("gksu");
- for (int i=0; i Netctl::getRecommendedConfiguration()
settings[QString("SYSTEMCTL_PATH")] = QString("");
recommended.clear();
recommended.append("systemctl");
- for (int i=0; i Netctl::getRecommendedConfiguration()
/**
* @fn getWirelessInterfaceList
*/
-QStringList Netctl::getWirelessInterfaceList()
+QStringList Netctl::getWirelessInterfaceList() const
{
if (debug) qDebug() << PDEBUG;
if (ifaceDirectory == nullptr) {
@@ -517,11 +360,11 @@ QStringList Netctl::getWirelessInterfaceList()
if (!mainInterface.isEmpty())
interfaces.append(mainInterface);
QStringList allInterfaces = ifaceDirectory->entryList(QDir::Dirs | QDir::NoDotAndDotDot);
- for (int i=0; ipath()).arg(allInterfaces[i]);
+ foreach(QString interface, allInterfaces) {
+ QString dir = QString("%1/%2/wireless").arg(ifaceDirectory->path()).arg(interface);
if (debug) qDebug() << PDEBUG << ":" << "Check directory" << dir;
if (QDir(dir).exists())
- interfaces.append(allInterfaces[i]);
+ interfaces.append(interface);
}
return interfaces;
@@ -532,159 +375,156 @@ QStringList Netctl::getWirelessInterfaceList()
/**
* @fn enableProfile
*/
-bool Netctl::enableProfile(const QString profile)
+bool Netctl::enableProfile(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
- if (isProfileEnabled(profile))
- return cmdCall(true, netctlCommand, QString("disable"), profile);
- else
- return cmdCall(true, netctlCommand, QString("enable"), profile);
+ return cmdCall(true, netctlCommand,
+ isProfileEnabled(profile) ? QString("disable") : QString("enable"),
+ profile).status();
}
/**
* @fn forceStartProfile
*/
-bool Netctl::forceStartProfile(const QString profile)
+bool Netctl::forceStartProfile(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
- return cmdCall(true, netctlCommand, QString("start"), profile);
+ return cmdCall(true, netctlCommand, QString("start"), profile).status();
}
/**
* @fn forceStopProfile
*/
-bool Netctl::forceStopProfile(const QString profile)
+bool Netctl::forceStopProfile(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
- return cmdCall(true, netctlCommand, QString("stop"), profile);
+ return cmdCall(true, netctlCommand, QString("stop"), profile).status();
}
/**
* @fn reenableProfile
*/
-bool Netctl::reenableProfile(const QString profile)
+bool Netctl::reenableProfile(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
- return cmdCall(true, netctlCommand, QString("reenable"), profile);
+ return cmdCall(true, netctlCommand, QString("reenable"), profile).status();
}
/**
* @fn restartProfile
*/
-bool Netctl::restartProfile(const QString profile)
+bool Netctl::restartProfile(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
- return cmdCall(true, netctlCommand, QString("restart"), profile);
+ return cmdCall(true, netctlCommand, QString("restart"), profile).status();
}
/**
* @fn startProfile
*/
-bool Netctl::startProfile(const QString profile)
+bool Netctl::startProfile(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
- if (isProfileActive(profile))
- return cmdCall(true, netctlCommand, QString("stop"), profile);
- else
- return cmdCall(true, netctlCommand, QString("start"), profile);
+ return cmdCall(true, netctlCommand,
+ isProfileActive(profile) ? QString("stop") : QString("start"),
+ profile).status();
}
/**
* @fn stopAllProfiles
*/
-bool Netctl::stopAllProfiles()
+bool Netctl::stopAllProfiles() const
{
if (debug) qDebug() << PDEBUG;
- return cmdCall(true, netctlCommand, QString("stop-all"));
+ return cmdCall(true, netctlCommand, QString("stop-all")).status();
}
/**
* @fn switchToProfile
*/
-bool Netctl::switchToProfile(const QString profile)
+bool Netctl::switchToProfile(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
return ((isProfileActive(profile)) ||
- (cmdCall(true, netctlCommand, QString("switch-to"), profile)));
+ (cmdCall(true, netctlCommand, QString("switch-to"), profile)).status());
}
/**
* @fn autoDisableAllProfiles
*/
-bool Netctl::autoDisableAllProfiles()
+bool Netctl::autoDisableAllProfiles() const
{
if (debug) qDebug() << PDEBUG;
- return cmdCall(false, netctlAutoCommand, QString("disable-all"));
+ return cmdCall(false, netctlAutoCommand, QString("disable-all")).status();
}
/**
* @fn autoEnableProfile
*/
-bool Netctl::autoEnableProfile(const QString profile)
+bool Netctl::autoEnableProfile(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
- if (autoIsProfileEnabled(profile))
- return cmdCall(false, netctlAutoCommand, QString("disable"), profile);
- else
- return cmdCall(false, netctlAutoCommand, QString("enable"), profile);
+ return cmdCall(false, netctlAutoCommand,
+ autoIsProfileEnabled(profile) ? QString("disable") : QString("enable"),
+ profile).status();
}
/**
* @fn autoEnableAllProfiles
*/
-bool Netctl::autoEnableAllProfiles()
+bool Netctl::autoEnableAllProfiles() const
{
if (debug) qDebug() << PDEBUG;
- return cmdCall(false, netctlAutoCommand, QString("enable-all"));
+ return cmdCall(false, netctlAutoCommand, QString("enable-all")).status();
}
/**
* @fn autoStartProfile
*/
-bool Netctl::autoStartProfile(const QString profile)
+bool Netctl::autoStartProfile(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
return ((autoIsProfileActive(profile)) ||
- (cmdCall(false, netctlAutoCommand, QString("switch-to"), profile)));
+ (cmdCall(false, netctlAutoCommand, QString("switch-to"), profile)).status());
}
/**
* @fn autoEnableService
*/
-bool Netctl::autoEnableService()
+bool Netctl::autoEnableService() const
{
if (debug) qDebug() << PDEBUG;
if (netctlAutoService.isEmpty()) {
@@ -697,19 +537,18 @@ bool Netctl::autoEnableService()
return false;
}
- QString argument = QString("%1@%2.service").arg(netctlAutoService).arg(interfaces[0]);
+ QString argument = QString("%1@%2.service").arg(netctlAutoService).arg(interfaces.first());
- if (isNetctlAutoEnabled())
- return cmdCall(true, systemctlCommand, QString("disable"), argument);
- else
- return cmdCall(true, systemctlCommand, QString("enable"), argument);
+ return cmdCall(true, systemctlCommand,
+ isNetctlAutoEnabled() ? QString("disable") : QString("enable"),
+ argument).status();
}
/**
* @fn autoRestartService
*/
-bool Netctl::autoRestartService()
+bool Netctl::autoRestartService() const
{
if (debug) qDebug() << PDEBUG;
if (netctlAutoService.isEmpty()) {
@@ -722,17 +561,17 @@ bool Netctl::autoRestartService()
return false;
}
- QString argument = QString("%1@%2.service").arg(netctlAutoService).arg(interfaces[0]);
+ QString argument = QString("%1@%2.service").arg(netctlAutoService).arg(interfaces.first());
return ((!isNetctlAutoRunning()) ||
- (cmdCall(true, systemctlCommand, QString("restart"), argument)));
+ (cmdCall(true, systemctlCommand, QString("restart"), argument)).status());
}
/**
* @fn autoStartService
*/
-bool Netctl::autoStartService()
+bool Netctl::autoStartService() const
{
if (debug) qDebug() << PDEBUG;
if (netctlAutoService.isEmpty()) {
@@ -745,10 +584,87 @@ bool Netctl::autoStartService()
return false;
}
- QString argument = QString("%1@%2.service").arg(netctlAutoService).arg(interfaces[0]);
+ QString argument = QString("%1@%2.service").arg(netctlAutoService).arg(interfaces.first());
- if (isNetctlAutoRunning())
- return cmdCall(true, systemctlCommand, QString("stop"), argument);
- else
- return cmdCall(true, systemctlCommand, QString("start"), argument);
+ return cmdCall(true, systemctlCommand,
+ isNetctlAutoRunning() ? QString("stop") : QString("start"),
+ argument).status();
+}
+
+
+// functions
+/**
+ * @fn cmdCall
+ */
+TaskResult Netctl::cmdCall(const bool sudo, const QString command,
+ const QString commandLine, const QString argument) const
+{
+ if (debug) qDebug() << PDEBUG;
+ if (debug) qDebug() << PDEBUG << ":" << "Command" << command;
+ if (debug) qDebug() << PDEBUG << ":" << "Command line" << commandLine;
+ if (debug) qDebug() << PDEBUG << ":" << "Argument" << argument;
+
+ QString cmd = QString("");
+ if (sudo) cmd = QString("%1 ").arg(sudoCommand);
+ cmd += QString("%1 %2").arg(command).arg(commandLine);
+ if (!argument.isEmpty()) cmd += QString(" \"%1\"").arg(argument);
+ if (debug) qDebug() << PDEBUG << ":" << "Run cmd" << cmd;
+ TaskResult process = runTask(cmd, (useSuid && sudo));
+ if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
+ if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
+
+ return process;
+};
+
+
+/**
+ * @fn getActiveProfileTemplate
+ */
+QStringList Netctl::getActiveProfileTemplate(const QList data) const
+{
+ if (debug) qDebug() << PDEBUG;
+
+ QStringList profiles;
+ foreach(netctlProfileInfo profile, data) {
+ if (!profile.active) continue;
+ profiles.append(profile.name);
+ }
+
+ return profiles;
+}
+
+
+/**
+ * @fn getProfileListTemplate
+ */
+QList Netctl::getProfileListTemplate(const bool isAuto) const
+{
+ if (debug) qDebug() << PDEBUG;
+
+ QList fullProfilesInfo;
+ QStringList output = QString(cmdCall(false, isAuto ? netctlAutoCommand : netctlCommand,
+ QString("list")).output)
+ .split(QChar('\n'), QString::SkipEmptyParts);
+ foreach(QString profile, output) {
+ netctlProfileInfo profileInfo;
+ profileInfo.name = profile.mid(2, -1);
+ profileInfo.active = (profile[0] == QChar('*'));
+ profileInfo.enabled = isAuto ? (profile[0] != QChar('!')) : isProfileEnabled(profileInfo.name);
+ // external
+ QStringList keys;
+ keys.append(QString("Connection"));
+ keys.append(QString("Description"));
+ keys.append(QString("ESSID"));
+ keys.append(QString("Interface"));
+ QStringList profileValues = netctlProfile->getValuesFromProfile(profileInfo.name,
+ keys);
+ profileInfo.description = profileValues[1];
+ profileInfo.essid = profileValues[2];
+ profileInfo.interface = profileValues[3];
+ profileInfo.type = profileValues[0];
+ profileInfo.netctlAuto = isAuto;
+ fullProfilesInfo.append(profileInfo);
+ }
+
+ return fullProfilesInfo;
}
diff --git a/sources/netctlgui/src/netctlinterface.cpp b/sources/netctlgui/src/netctlinterface.cpp
index 3f6539c..7c62f96 100644
--- a/sources/netctlgui/src/netctlinterface.cpp
+++ b/sources/netctlgui/src/netctlinterface.cpp
@@ -60,7 +60,8 @@ NetctlInterface::~NetctlInterface()
/**
* @fn connectToEssid
*/
-InterfaceAnswer NetctlInterface::connectToEssid(const QString essid, QMap settings)
+InterfaceAnswer NetctlInterface::connectToEssid(const QString essid,
+ QMap settings) const
{
if (debug) qDebug() << PDEBUG;
if (netctlCommand == nullptr) {
@@ -83,7 +84,7 @@ InterfaceAnswer NetctlInterface::connectToEssid(const QString essid, QMap settings)
+InterfaceAnswer NetctlInterface::connectToUnknownEssid(const QString essid,
+ QMap settings) const
{
if (debug) qDebug() << PDEBUG;
if (netctlCommand == nullptr) {
@@ -121,7 +123,7 @@ InterfaceAnswer NetctlInterface::connectToUnknownEssid(const QString essid, QMap
QStringList interfaces = netctlCommand->getWirelessInterfaceList();
if (interfaces.isEmpty()) return InterfaceAnswer::Error;
settings[QString("Description")] = QString("'Automatically generated profile by Netctl GUI'");
- settings[QString("Interface")] = interfaces[0];
+ settings[QString("Interface")] = interfaces.first();
settings[QString("Connection")] = QString("wireless");
settings[QString("ESSID")] = QString("'%1'").arg(essid);
settings[QString("IP")] = QString("dhcp");
@@ -139,7 +141,8 @@ InterfaceAnswer NetctlInterface::connectToUnknownEssid(const QString essid, QMap
/**
* @fn createProfile
*/
-InterfaceAnswer NetctlInterface::createProfile(const QString profile, const QMap settings)
+InterfaceAnswer NetctlInterface::createProfile(const QString profile,
+ const QMap settings) const
{
if (debug) qDebug() << PDEBUG;
if (netctlCommand == nullptr) {
@@ -157,7 +160,7 @@ InterfaceAnswer NetctlInterface::createProfile(const QString profile, const QMap
/**
* @fn enableProfile
*/
-InterfaceAnswer NetctlInterface::enableProfile(const QString profile)
+InterfaceAnswer NetctlInterface::enableProfile(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (netctlCommand == nullptr) {
@@ -174,7 +177,7 @@ InterfaceAnswer NetctlInterface::enableProfile(const QString profile)
/**
* @fn removeProfile
*/
-InterfaceAnswer NetctlInterface::removeProfile(const QString profile)
+InterfaceAnswer NetctlInterface::removeProfile(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (netctlProfile == nullptr) {
@@ -189,7 +192,7 @@ InterfaceAnswer NetctlInterface::removeProfile(const QString profile)
/**
* @fn restartProfile
*/
-InterfaceAnswer NetctlInterface::restartProfile(const QString profile)
+InterfaceAnswer NetctlInterface::restartProfile(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (netctlCommand == nullptr) {
@@ -206,7 +209,7 @@ InterfaceAnswer NetctlInterface::restartProfile(const QString profile)
/**
* @fn startProfile
*/
-InterfaceAnswer NetctlInterface::startProfile(const QString profile)
+InterfaceAnswer NetctlInterface::startProfile(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (netctlCommand == nullptr) {
@@ -227,7 +230,7 @@ InterfaceAnswer NetctlInterface::startProfile(const QString profile)
/**
* @fn stopAllProfiles
*/
-InterfaceAnswer NetctlInterface::stopAllProfiles()
+InterfaceAnswer NetctlInterface::stopAllProfiles() const
{
if (debug) qDebug() << PDEBUG;
if (netctlCommand == nullptr) {
@@ -242,7 +245,7 @@ InterfaceAnswer NetctlInterface::stopAllProfiles()
/**
* @fn switchToProfile
*/
-InterfaceAnswer NetctlInterface::switchToProfile(const QString profile)
+InterfaceAnswer NetctlInterface::switchToProfile(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (netctlCommand == nullptr) {
@@ -267,7 +270,7 @@ InterfaceAnswer NetctlInterface::switchToProfile(const QString profile)
/**
* @fn information
*/
-netctlInformation NetctlInterface::information()
+netctlInformation NetctlInterface::information() const
{
if (debug) qDebug() << PDEBUG;
if (netctlCommand == nullptr) {
@@ -288,7 +291,7 @@ netctlInformation NetctlInterface::information()
/**
* @fn profileSettings
*/
-QMap NetctlInterface::profileSettings(const QString profile)
+QMap NetctlInterface::profileSettings(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (netctlProfile == nullptr) {
@@ -303,7 +306,7 @@ QMap NetctlInterface::profileSettings(const QString profile)
/**
* @fn status
*/
-netctlCurrent NetctlInterface::status()
+netctlCurrent NetctlInterface::status() const
{
if (debug) qDebug() << PDEBUG;
if (netctlCommand == nullptr) {
@@ -318,11 +321,11 @@ netctlCurrent NetctlInterface::status()
profiles = netctlCommand->getProfileListFromNetctlAuto();
else
profiles = netctlCommand->getProfileList();
- for (int i=0; i
#include
+#include "version.h"
+
/**
* @class NetctlProfile
@@ -43,17 +45,11 @@
NetctlProfile::NetctlProfile(const bool debugCmd, const QMap settings)
: debug(debugCmd)
{
- if (settings.contains(QString("PROFILE_DIR")))
- profileDirectory = new QDir(settings[QString("PROFILE_DIR")]);
- else
- profileDirectory = new QDir(QString(PROFILE_DIR));
- if (settings.contains(QString("SUDO_PATH")))
- sudoCommand = settings[QString("SUDO_PATH")];
- if (settings.contains(QString("FORCE_SUDO")))
- useSuid = (settings[QString("FORCE_SUDO")] != QString("true"));
+ profileDirectory = new QDir(settings.value(QString("PROFILE_DIR"), QString(PROFILE_DIR)));
+ sudoCommand = settings.value(QString("SUDO_PATH"), QString(SUDO_PATH));
+ useSuid = (settings.value(QString("FORCE_SUDO"), QString("true")) != QString("true"));
- if (useSuid)
- sudoCommand = QString("");
+ if (useSuid) sudoCommand = QString("");
}
@@ -71,7 +67,7 @@ NetctlProfile::~NetctlProfile()
/**
* @fn copyProfile
*/
-bool NetctlProfile::copyProfile(const QString oldPath)
+bool NetctlProfile::copyProfile(const QString oldPath) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Path" << oldPath;
@@ -87,17 +83,16 @@ bool NetctlProfile::copyProfile(const QString oldPath)
if (debug) qDebug() << PDEBUG << ":" << "Run cmd" << cmd;
TaskResult process = runTask(cmd, useSuid);
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
- if (process.exitCode != 0)
- if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
+ if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
- return (process.exitCode == 0);
+ return process.status();
}
/**
* @fn createProfile
*/
-QString NetctlProfile::createProfile(const QString profile, const QMap settings)
+QString NetctlProfile::createProfile(const QString profile, const QMap settings) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
@@ -108,22 +103,22 @@ QString NetctlProfile::createProfile(const QString profile, const QMap NetctlProfile::getRecommendedConfiguration()
recommended.clear();
recommended.append(QString("netctlgui-helper"));
recommended.append(QString("netctlgui-helper-suid"));
- for (int i=0; i NetctlProfile::getRecommendedConfiguration()
recommended.append("sudo");
recommended.append("kdesu");
recommended.append("gksu");
- for (int i=0; i NetctlProfile::getRecommendedConfiguration()
/**
* @fn getSettingsFromProfile
*/
-QMap NetctlProfile::getSettingsFromProfile(const QString profile)
+QMap NetctlProfile::getSettingsFromProfile(const QString profile) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
@@ -202,13 +197,12 @@ QMap NetctlProfile::getSettingsFromProfile(const QString profi
if (debug) qDebug() << PDEBUG << ":" << "Run cmd" << cmd;
TaskResult process = runTask(cmd, false);
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
- if (process.exitCode != 0)
- if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
+ if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
QStringList output = QString(process.output).trimmed().split(QChar('\n'));
QStringList systemVariables;
systemVariables.append(QString("PIPESTATUS"));
- for (int i=0; i settings;
QString profileUrl = QString("%1/%2").arg(profileDirectory->absolutePath()).arg(QFileInfo(profile).fileName());
@@ -216,20 +210,19 @@ QMap NetctlProfile::getSettingsFromProfile(const QString profi
if (debug) qDebug() << PDEBUG << ":" << "Run cmd" << cmd;
process = runTask(cmd, false);
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
- if (process.exitCode != 0)
- if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
+ if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
output = QString(process.output).trimmed().split(QChar('\n'));
// read variables
QStringList keys;
- for (int i=0; i NetctlProfile::getSettingsFromProfile(const QString profi
/**
* @fn getValueFromProfile
*/
-QString NetctlProfile::getValueFromProfile(const QString profile, const QString key)
+QString NetctlProfile::getValueFromProfile(const QString profile, const QString key) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
if (debug) qDebug() << PDEBUG << ":" << "Key" << key;
- return getValuesFromProfile(profile, QStringList() << key)[0];
+ return getValuesFromProfile(profile, QStringList() << key).first();
}
/**
* @fn getValuesFromProfile
*/
-QStringList NetctlProfile::getValuesFromProfile(const QString profile, const QStringList keys)
+QStringList NetctlProfile::getValuesFromProfile(const QString profile, const QStringList keys) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
@@ -260,8 +253,8 @@ QStringList NetctlProfile::getValuesFromProfile(const QString profile, const QSt
QMap settings = getSettingsFromProfile(profile);
QStringList values;
- for (int i=0; i
#include
+#include "version.h"
+
/**
* @class WpaSup
@@ -43,25 +45,16 @@ WpaSup::WpaSup(const bool debugCmd, const QMap settings)
netctlCommand = new Netctl(debug, settings);
netctlProfile = new NetctlProfile(debug, settings);
- if (settings.contains(QString("CTRL_DIR")))
- ctrlDir = settings[QString("CTRL_DIR")];
- if (settings.contains(QString("CTRL_GROUP")))
- ctrlGroup = settings[QString("CTRL_GROUP")];
- if (settings.contains(QString("PID_FILE")))
- pidFile = settings[QString("PID_FILE")];
- if (settings.contains(QString("SUDO_PATH")))
- sudoCommand = settings[QString("SUDO_PATH")];
- if (settings.contains(QString("WPACLI_PATH")))
- wpaCliPath = settings[QString("WPACLI_PATH")];
- if (settings.contains(QString("WPA_DRIVERS")))
- wpaDrivers = settings[QString("WPA_DRIVERS")];
- if (settings.contains(QString("WPASUP_PATH")))
- wpaSupPath = settings[QString("WPASUP_PATH")];
- if (settings.contains(QString("FORCE_SUDO")))
- useSuid = (settings[QString("FORCE_SUDO")] != QString("true"));
+ ctrlDir = settings.value(QString("CTRL_DIR"), QString(CTRL_DIR));
+ ctrlGroup = settings.value(QString("CTRL_GROUP"), QString(CTRL_GROUP));
+ pidFile = settings.value(QString("PID_FILE"), QString(PID_FILE));
+ sudoCommand = settings.value(QString("SUDO_PATH"), QString(SUDO_PATH));
+ wpaCliPath = settings.value(QString("WPACLI_PATH"), QString(WPACLI_PATH));
+ wpaDrivers = settings.value(QString("WPA_DRIVERS"), QString(WPA_DRIVERS));
+ wpaSupPath = settings.value(QString("WPASUP_PATH"), QString(WPASUP_PATH));
+ useSuid = (settings.value(QString("FORCE_SUDO"), QString("true")) != QString("true"));
- if (useSuid)
- sudoCommand = QString("");
+ if (useSuid) sudoCommand = QString("");
}
@@ -81,7 +74,7 @@ WpaSup::~WpaSup()
/**
* @fn existentProfile
*/
-QString WpaSup::existentProfile(const QString essid)
+QString WpaSup::existentProfile(const QString essid) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "ESSID" << essid;
@@ -94,11 +87,11 @@ QString WpaSup::existentProfile(const QString essid)
return QString();
}
- QString profileFile = QString("");
+ QString profileFile;
QList profileList = netctlCommand->getProfileList();
- for (int i=0; i WpaSup::getRecommendedConfiguration()
// ctrl group
// check group list and find out 'network', 'users', 'root'
settings[QString("CTRL_GROUP")] = QString("");
- gid_t gtpList[99];
+ gid_t gtpList[size];
int grpSize = getgroups(size, gtpList);
recommended.clear();
recommended.append("network");
recommended.append("users");
recommended.append("root");
- for (int i=0; igr_name)) {
- settings[QString("CTRL_GROUP")] = recommended[i];
+ foreach(QString rec, recommended) {
+ for (int i=0; igr_name)) {
+ settings[QString("CTRL_GROUP")] = rec;
break;
}
if (!settings[QString("CTRL_GROUP")].isEmpty()) break;
@@ -141,9 +134,9 @@ QMap WpaSup::getRecommendedConfiguration()
recommended.clear();
recommended.append(QString("netctlgui-helper"));
recommended.append(QString("netctlgui-helper-suid"));
- for (int i=0; i WpaSup::getRecommendedConfiguration()
recommended.append("sudo");
recommended.append("kdesu");
recommended.append("gksu");
- for (int i=0; i WpaSup::getRecommendedConfiguration()
settings[QString("WPACLI_PATH")] = QString("true");
recommended.clear();
recommended.append("wpa_cli");
- for (int i=0; i WpaSup::getRecommendedConfiguration()
settings[QString("WPASUP_PATH")] = QString("true");
recommended.clear();
recommended.append("wpa_supplicant");
- for (int i=0; i WpaSup::getRecommendedConfiguration()
/**
* @fn isProfileActive
*/
-bool WpaSup::isProfileActive(const QString essid)
+bool WpaSup::isProfileActive(const QString essid) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "ESSID" << essid;
@@ -213,50 +206,14 @@ bool WpaSup::isProfileActive(const QString essid)
return false;
}
- QString profileFile;
- QList profileList = netctlCommand->getProfileList();
- for (int i=0; iisProfileActive(profileFile);
-}
-
-
-/**
- * @fn isProfileExists
- */
-bool WpaSup::isProfileExists(const QString essid)
-{
- if (debug) qDebug() << PDEBUG;
- if (debug) qDebug() << PDEBUG << ":" << "ESSID" << essid;
- if (netctlCommand == nullptr) {
- if (debug) qDebug() << PDEBUG << ":" << "Could not find library";
- return false;
- }
- if (netctlProfile == nullptr) {
- if (debug) qDebug() << PDEBUG << ":" << "Could not find library";
- return false;
- }
-
- bool exists = false;
- QList profileList = netctlCommand->getProfileList();
- for (int i=0; iisProfileActive(existentProfile(essid));
}
/**
* @fn current
*/
-netctlWifiInfo WpaSup::current()
+netctlWifiInfo WpaSup::current() const
{
if (debug) qDebug() << PDEBUG;
if (pidFile.isEmpty()) {
@@ -269,7 +226,7 @@ netctlWifiInfo WpaSup::current()
return netctlWifiInfo();
}
QString _pidFile = pidFile;
- _pidFile.replace(QString("$i"), interfaces[0]);
+ _pidFile.replace(QString("$i"), interfaces.first());
if (debug) qDebug() << PDEBUG << ":" << "PID file" << _pidFile << QFile(_pidFile).exists();
netctlWifiInfo current;
@@ -278,21 +235,21 @@ netctlWifiInfo WpaSup::current()
if (!rawText.contains(QString("wpa_state=COMPLETED\n"))) return current;
QStringList rawList = rawText.split(QChar('\n'), QString::SkipEmptyParts);
- for (int i=0; i= 5000) && (line[1].toInt() < 6000))
+ if (line.at(0) == QString("bssid"))
+ current.macs.append(line.at(1));
+ else if (line.at(0) == QString("freq")) {
+ if ((line.at(1).toInt() >= 5000) && (line.at(1).toInt() < 6000))
current.type = PointType::FiveG;
- else if ((line[1].toInt() < 5000) && (line[1].toInt() > 2000))
+ else if ((line.at(1).toInt() < 5000) && (line.at(1).toInt() > 2000))
current.type = PointType::TwoG;
- current.frequencies.append(line[1].toInt());
- } else if (line[0] == QString("ssid"))
- current.name = line[1];
- else if (line[0] == QString("key_mgmt")) {
- QString security = line[1];
+ current.frequencies.append(line.at(1).toInt());
+ } else if (line.at(0) == QString("ssid"))
+ current.name = line.at(1);
+ else if (line.at(0) == QString("key_mgmt")) {
+ QString security = line.at(1);
if (security.contains(QString("WPA2")))
security = QString("WPA2");
else if (security.contains(QString("WPA")))
@@ -316,7 +273,7 @@ netctlWifiInfo WpaSup::current()
/**
* @fn scanWifi
*/
-QList WpaSup::scanWifi()
+QList WpaSup::scanWifi() const
{
if (debug) qDebug() << PDEBUG;
if (pidFile.isEmpty()) {
@@ -329,7 +286,7 @@ QList WpaSup::scanWifi()
return QList();
}
QString _pidFile = pidFile;
- _pidFile.replace(QString("$i"), interfaces[0]);
+ _pidFile.replace(QString("$i"), interfaces.first());
if (debug) qDebug() << PDEBUG << ":" << "PID file" << _pidFile << QFile(_pidFile).exists();
bool terminateOnExit = (!QFile(_pidFile).exists());
@@ -353,25 +310,25 @@ QList WpaSup::scanWifi()
else
profiles = netctlCommand->getProfileList();
// iterate by wifi output
- for (int i=0; i");
// append mac and frequency if exists
int index = names.indexOf(name);
if ((name != QString("")) && (index > -1)) {
- scanResults[index].frequencies.append(line[1].toInt());
- scanResults[index].macs.append(line[0]);
- if (scanResults[index].signal < line[2].toInt())
- scanResults[index].signal = line[2].toInt();
+ scanResults[index].frequencies.append(line.at(1).toInt());
+ scanResults[index].macs.append(line.at(0));
+ if (scanResults[index].signal < line.at(2).toInt())
+ scanResults[index].signal = line.at(2).toInt();
// check type
- if ((line[1].toInt() >= 5000) && (line[1].toInt() < 6000)) {
+ if ((line.at(1).toInt() >= 5000) && (line.at(1).toInt() < 6000)) {
if (scanResults[index].type == PointType::None)
scanResults[index].type = PointType::FiveG;
else if (scanResults[index].type == PointType::TwoG)
scanResults[index].type = PointType::TwoAndFiveG;
- } else if ((line[1].toInt() < 5000) && (line[1].toInt() > 2000)) {
+ } else if ((line.at(1).toInt() < 5000) && (line.at(1).toInt() > 2000)) {
if (scanResults[index].type == PointType::None)
scanResults[index].type = PointType::TwoG;
else if (scanResults[index].type == PointType::FiveG)
@@ -388,28 +345,28 @@ QList WpaSup::scanWifi()
netctlProfileInfo profile;
profile.name = QString("");
profile.active = false;
- for (int j=0; j= 5000) && (line[1].toInt() < 6000)) {
+ if ((line.at(1).toInt() >= 5000) && (line.at(1).toInt() < 6000)) {
wifiPoint.type = PointType::FiveG;
- } else if ((line[1].toInt() < 5000) && (line[1].toInt() > 2000)) {
+ } else if ((line.at(1).toInt() < 5000) && (line.at(1).toInt() > 2000)) {
wifiPoint.type = PointType::TwoG;
}
// point signal
- wifiPoint.signal = line[2].toInt();
+ wifiPoint.signal = line.at(2).toInt();
// point security
- QString security = line[3];
+ QString security = line.at(3);
if (security.contains(QString("WPA2")))
security = QString("WPA2");
else if (security.contains(QString("WPA")))
@@ -433,7 +390,7 @@ QList WpaSup::scanWifi()
/**
* @fn startWpaSupplicant
*/
-bool WpaSup::startWpaSupplicant()
+bool WpaSup::startWpaSupplicant() const
{
if (debug) qDebug() << PDEBUG;
if (ctrlDir.isEmpty()) {
@@ -466,28 +423,27 @@ bool WpaSup::startWpaSupplicant()
return false;
}
QString _pidFile = pidFile;
- _pidFile.replace(QString("$i"), interfaces[0]);
+ _pidFile.replace(QString("$i"), interfaces.first());
if (debug) qDebug() << PDEBUG << ":" << "PID file" << _pidFile << QFile(_pidFile).exists();
if (QFile(_pidFile).exists()) return (QFileInfo(ctrlDir).group() == ctrlGroup);
QString cmd = QString("%1 %2 -B -P \"%3\" -i %4 -D %5 -C \"DIR=%6 GROUP=%7\"")
- .arg(sudoCommand).arg(wpaSupPath).arg(_pidFile).arg(interfaces[0])
+ .arg(sudoCommand).arg(wpaSupPath).arg(_pidFile).arg(interfaces.first())
.arg(wpaDrivers).arg(ctrlDir).arg(ctrlGroup);
if (debug) qDebug() << PDEBUG << ":" << "Run cmd" << cmd;
TaskResult process = runTask(cmd, useSuid);
waitForProcess(1);
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
- if (process.exitCode != 0)
- if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
+ if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
- return (process.exitCode == 0);
+ return process.status();
}
/**
* @fn stopWpaSupplicant
*/
-bool WpaSup::stopWpaSupplicant()
+bool WpaSup::stopWpaSupplicant() const
{
if (debug) qDebug() << PDEBUG;
@@ -499,7 +455,7 @@ bool WpaSup::stopWpaSupplicant()
/**
* @fn getWpaCliOutput
*/
-QString WpaSup::getWpaCliOutput(const QString commandLine)
+QString WpaSup::getWpaCliOutput(const QString commandLine) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Command" << commandLine;
@@ -517,12 +473,11 @@ QString WpaSup::getWpaCliOutput(const QString commandLine)
return QString();
}
- QString cmd = QString("%1 -i %2 -p %3 %4").arg(wpaCliPath).arg(interfaces[0]).arg(ctrlDir).arg(commandLine);
+ QString cmd = QString("%1 -i %2 -p %3 %4").arg(wpaCliPath).arg(interfaces.first()).arg(ctrlDir).arg(commandLine);
if (debug) qDebug() << PDEBUG << ":" << "Run cmd" << cmd;
TaskResult process = runTask(cmd);
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
- if (process.exitCode != 0)
- if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
+ if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
return process.output;
}
@@ -531,7 +486,7 @@ QString WpaSup::getWpaCliOutput(const QString commandLine)
/**
* @fn waitForProcess
*/
-bool WpaSup::waitForProcess(const int sec)
+bool WpaSup::waitForProcess(const int sec) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Interval" << sec;
@@ -546,7 +501,7 @@ bool WpaSup::waitForProcess(const int sec)
/**
* @fn wpaCliCall
*/
-bool WpaSup::wpaCliCall(const QString commandLine)
+bool WpaSup::wpaCliCall(const QString commandLine) const
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Command" << commandLine;
@@ -564,13 +519,12 @@ bool WpaSup::wpaCliCall(const QString commandLine)
return false;
}
- QString cmd = QString("%1 -i %2 -p %3 %4").arg(wpaCliPath).arg(interfaces[0]).arg(ctrlDir).arg(commandLine);
+ QString cmd = QString("%1 -i %2 -p %3 %4").arg(wpaCliPath).arg(interfaces.first()).arg(ctrlDir).arg(commandLine);
if (debug) qDebug() << PDEBUG << ":" << "Run cmd" << cmd;
TaskResult process = runTask(cmd);
waitForProcess(1);
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
- if (process.exitCode != 0)
- if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
+ if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
- return (process.exitCode == 0);
+ return process.status();
}
diff --git a/sources/test/testnetctl.cpp b/sources/test/testnetctl.cpp
index a0be812..03e67ca 100644
--- a/sources/test/testnetctl.cpp
+++ b/sources/test/testnetctl.cpp
@@ -133,7 +133,7 @@ void TestNetctl::test_getActiveProfile()
QStringList result = netctl->getActiveProfile();
QStringList dbus;
if (helper)
- dbus = sendDBusRequest(QString("/netctl"), QString("netctlActiveProfile"))[0].toString().split(QChar('|'));
+ dbus = sendDBusRequest(QString("/netctl"), QString("netctlActiveProfile"))[0].toStringList();
netctl->startProfile(QString("netctlgui-test-dummy"));
delete netctl;