summaryrefslogtreecommitdiff
path: root/noncore/net/networksetup/interfaces/interfaces.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/networksetup/interfaces/interfaces.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/networksetup/interfaces/interfaces.cpp77
1 files changed, 40 insertions, 37 deletions
diff --git a/noncore/net/networksetup/interfaces/interfaces.cpp b/noncore/net/networksetup/interfaces/interfaces.cpp
index 708f399..e49998e 100644
--- a/noncore/net/networksetup/interfaces/interfaces.cpp
+++ b/noncore/net/networksetup/interfaces/interfaces.cpp
@@ -6,2 +6,3 @@
+// The three stanza's
#define AUTO "auto"
@@ -104,2 +105,3 @@ bool Interfaces::setAuto(const QString &interface, bool setAuto){
}
+ // else see if we need to remove from this one
else{
@@ -107,6 +109,4 @@ bool Interfaces::setAuto(const QString &interface, bool setAuto){
(*it) = (*it).replace(QRegExp(interface), "");
- // clean up
- QString line = (*it).simplifyWhiteSpace();
- line = line.replace(QRegExp(" "),"");
- if(line == AUTO)
+ // if AUTO is the only thing left clear the line
+ if(((*it).simplifyWhiteSpace()).replace(QRegExp(" "),"") == AUTO)
(*it) = "";
@@ -118,9 +118,5 @@ bool Interfaces::setAuto(const QString &interface, bool setAuto){
}
- if(changed == false){
- if(setAuto == true)
- interfaces.append(QString(AUTO" %1").arg(interface));
- else{
- qDebug(QString("Interfaces: Can't set interface %1 auto to false sense it is already false.").arg(interface).latin1());
- }
- }
+ // In the case where there is no AUTO field add one.
+ if(!changed && setAuto)
+ interfaces.append(QString(AUTO" %1").arg(interface));
return true;
@@ -159,3 +155,3 @@ bool Interfaces::isInterfaceSet(){
bool Interfaces::addInterface(const QString &interface, const QString &family, const QString &method){
- if(acceptedFamily.contains(family)==0)
+ if(0 == acceptedFamily.contains(family))
return false;
@@ -174,4 +170,6 @@ bool Interfaces::addInterface(const QString &interface, const QString &family, c
bool Interfaces::copyInterface(const QString &interface, const QString &newInterface){
- if(!setInterface(interface)) return false;
-
+ if(!setInterface(interface))
+ return false;
+
+ // Store the old interface and bump past the stanza line.
QStringList::Iterator it = currentIface;
@@ -179,8 +177,12 @@ bool Interfaces::copyInterface(const QString &interface, const QString &newInter
+ // Add the new interface
bool error;
addInterface(newInterface, getInterfaceFamily(error), getInterfaceMethod(error));
- if(!setInterface(newInterface)) return false;
+ if(!setInterface(newInterface))
+ return false;
+
QStringList::Iterator newIface = currentIface;
newIface++;
-
+
+ // Copy all of the lines
for ( ; it != interfaces.end(); ++it ){
@@ -199,6 +201,3 @@ bool Interfaces::copyInterface(const QString &interface, const QString &newInter
bool Interfaces::removeInterface(){
- if(currentIface == interfaces.end())
- return false;
- (*currentIface) = "";
- return removeAllInterfaceOptions();
+ return removeStanza(currentIface);
}
@@ -234,6 +233,4 @@ QString Interfaces::getInterfaceFamily(bool &error){
QString name = getInterfaceName(error);
- if(error){
- error = true;
+ if(error)
return QString();
- }
QString line = (*currentIface);
@@ -259,11 +256,7 @@ QString Interfaces::getInterfaceMethod(bool &error){
QString name = getInterfaceName(error);
- if(error){
- error = true;
+ if(error)
return QString();
- }
QString family = getInterfaceFamily(error);
- if(error){
- error = true;
+ if(error)
return QString();
- }
QString line = (*currentIface);
@@ -393,6 +386,3 @@ void Interfaces::addMapping(const QString &option){
bool Interfaces::removeMapping(){
- if(currentMapping == interfaces.end())
- return false;
- (*currentMapping) = "";
- return removeAllOptions(currentMapping);
+ return removeStanza(currentMapping);
}
@@ -522,2 +512,15 @@ bool Interfaces::setOption(const QStringList::Iterator &start, const QString &op
}
+
+/**
+ * Removes a stanza and all of its options
+ * @param stanza the stanza to remove
+ * @return bool true if successfull.
+ */
+bool Interfaces::removeStanza(QStringList::Iterator &stanza){
+ if(stanza == interfaces.end())
+ return false;
+ (*stanza) = "";
+ return removeAllOptions(stanza);
+}
+
/**
@@ -593,3 +596,3 @@ QString Interfaces::getOption(const QStringList::Iterator &start, const QString
if(found)
- qDebug(QString("Interfaces: Get Options found more then one value: %1 for option: %2 in stanza %3").arg((*it)).arg(option).arg((*start)).latin1());
+ qDebug(QString("Interfaces: getOption found more then one value: %1 for option: %2 in stanza %3").arg((*it)).arg(option).arg((*start)).latin1());
found = true;
@@ -597,6 +600,6 @@ QString Interfaces::getOption(const QStringList::Iterator &start, const QString
int space = line.find(" ", option.length());
- if(space != -1)
+ if(space != -1){
value = line.mid(space+1, line.length());
- else
- qDebug(QString("Interfaces: Option %1 with no value").arg(option).latin1());
+ break;
+ }
}