summaryrefslogtreecommitdiffstats
path: root/src/fbgui/interfaceconfiguration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/fbgui/interfaceconfiguration.cpp')
-rw-r--r--src/fbgui/interfaceconfiguration.cpp140
1 files changed, 140 insertions, 0 deletions
diff --git a/src/fbgui/interfaceconfiguration.cpp b/src/fbgui/interfaceconfiguration.cpp
new file mode 100644
index 0000000..3d09e52
--- /dev/null
+++ b/src/fbgui/interfaceconfiguration.cpp
@@ -0,0 +1,140 @@
+/**
+ * @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;
+}