blob: 3d09e5232ed9ff73172cc73aa071983aa111ac6f (
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"
interfaceconfiguration::interfaceconfiguration() {
_tag = "[nd: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)) {
qDebug() << _tag << "couldn't open file:" << pathToConfig;
return false;
}
qDebug() << _tag << "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 {
qDebug() << _tag << "read unknown name" << name << values;
}
}
} else {
qDebug() << _tag << "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;
}
|