blob: 37dd3f9202475c9e722a05cfbb16c74bd604b4e0 (
plain) (
tree)
|
|
/**
* @class InterfaceConfiguration
*
* @brief reads and stores a interface configuration.
*
* reads and stores a interface configuration.
* the config file has already to exist. It is created by the cdhcpcd client process.
*
*/
#include "interfaceconfiguration.h"
#include <log4cxx/logger.h>
#include "qlog4cxx.h"
using namespace log4cxx;
using namespace log4cxx::helpers;
LoggerPtr ndifLogger(Logger::getLogger("fbgui.nd.ifconf"));
InterfaceConfiguration::InterfaceConfiguration() {
}
InterfaceConfiguration::~InterfaceConfiguration() {
// TODO Auto-generated destructor stub
}
/**
* This method reads the configuration values out of a file.
*
* This method reads the configuration values out of a file.
* The file has to be created before by the customdhcpcd QProcess.
* (Overwrites the old values if they are already present.)
*
* @param pathToConfig
* contains the path to the configuration file.
*/
bool InterfaceConfiguration::readConfigOutOfFile(QString pathToConfig) {
QFile file(pathToConfig);
if (file.exists()) {
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
LOG4CXX_DEBUG(ndifLogger, "Couldn't open file:" << pathToConfig);
return false;
}
LOG4CXX_DEBUG(ndifLogger, "read config file");
while (!file.atEnd()) {
QString line(file.readLine());
QStringList splitedLine = line.split("=");
QString name = splitedLine.first().trimmed();
splitedLine.removeFirst();
QString values = splitedLine.first().trimmed();
values.remove(QChar('\''));
if (name.compare("IPADDR") == 0) {
this->ipAddress = values;
} else if (name.compare("NETMASK") == 0) {
this->netmask = values;
} else if (name.compare("NETWORK") == 0) {
this->network = values;
} else if (name.compare("BROADCAST") == 0) {
this->broadcast = values;
} else if (name.compare("ROUTES") == 0) {
this->routes = values;
} else if (name.compare("GATEWAYS") == 0) {
this->gateways = values;
this->gateway = this->gateways.split(" ").first().trimmed();
} else if (name.compare("HOSTNAME") == 0) {
this->hostname = values;
} else if (name.compare("DNSSEARCH") == 0) {
this->dnssearch = values;
} else if (name.compare("DNSSERVERS") == 0) {
this->dnsservers = values;
} else if (name.compare("DHCPSID") == 0) {
this->dhcpsid = values;
} else if (name.compare("INTERFACE") == 0) {
this->interface = values;
} else if (name.compare("CLIENTID") == 0) {
this->clientid = values;
} else if (name.compare("DHCPCHADDR") == 0) {
this->dhcpchaddr = values;
} else {
LOG4CXX_DEBUG(ndifLogger, "read unknown name" << name << values);
}
}
} else {
LOG4CXX_DEBUG(ndifLogger, "file doesn't exist:" << pathToConfig);
return false;
}
return true;
}
QString InterfaceConfiguration::getBroadcast() {
return broadcast;
}
QString InterfaceConfiguration::getClientid() {
return clientid;
}
QString InterfaceConfiguration::getDhcpchaddr() {
return dhcpchaddr;
}
QString InterfaceConfiguration::getDhcpsid() {
return dhcpsid;
}
QString InterfaceConfiguration::getDnssearch() {
return dnssearch;
}
QString InterfaceConfiguration::getDnsservers() {
return dnsservers;
}
QString InterfaceConfiguration::getGateways() {
return gateways;
}
QString InterfaceConfiguration::getGateway() {
return gateway;
}
QString InterfaceConfiguration::getHostname() {
return hostname;
}
QString InterfaceConfiguration::getInterface() {
return interface;
}
QString InterfaceConfiguration::getIpAddress() {
return ipAddress;
}
QString InterfaceConfiguration::getNetmask() {
return netmask;
}
QString InterfaceConfiguration::getNetwork() {
return network;
}
QString InterfaceConfiguration::getRoutes() {
return routes;
}
|