summaryrefslogblamecommitdiffstats
path: root/src/fbgui/interfaceconfiguration.cpp
blob: 3d09e5232ed9ff73172cc73aa071983aa111ac6f (plain) (tree)
1
2
3
4
5
6
7
8
9



                                                     
  

                                                                                     
  
   


 































































































































                                                                                            
/**
 * @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;
}