summaryrefslogtreecommitdiffstats
path: root/LogReceiver/networkdiscovery.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'LogReceiver/networkdiscovery.cpp')
-rw-r--r--LogReceiver/networkdiscovery.cpp45
1 files changed, 39 insertions, 6 deletions
diff --git a/LogReceiver/networkdiscovery.cpp b/LogReceiver/networkdiscovery.cpp
index beca24f..159321d 100644
--- a/LogReceiver/networkdiscovery.cpp
+++ b/LogReceiver/networkdiscovery.cpp
@@ -14,7 +14,7 @@ NetworkDiscovery::~NetworkDiscovery() {
void NetworkDiscovery::initAndRun(QString serverPath, QString pathToExe,
QStringList* args) {
- _userChoice = false;
+ _userChoice = true;
_blocked = false;
if (serverPath != DEFAULT_QTSOCKETADDRESS) {
@@ -83,6 +83,38 @@ int NetworkDiscovery::replaceDefaultRoute(QString &ifName, QString &gateway, int
networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET);
}
+int NetworkDiscovery::ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss) {
+ networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET);
+}
+
+int NetworkDiscovery::ip4_setManualConfiguration(QVariantMap result) {
+ //QJson::Parser parser;
+ //bool ok;
+
+ //QVariantMap result = parser.parse(, &ok);
+ //if(!ok) {
+ // error
+ //return -1;
+ //}
+ QList<QString> dns;
+ dns.append(result["dns"].toString());
+ return networkManager.ip4_setManualConfiguration(result["ifname"].toString(),
+ result["ipaddr"].toString(),
+ result["netmask"].toString(),
+ result["broadcast"].toString(),
+ result["gateway"].toString(),
+ 0,
+ AF_INET,
+ true,
+ "/etc/",
+ dns);
+}
+
+QString NetworkDiscovery::getGatewayForInterface(QString ifName) {
+ interfaceconfiguration * ifConf = _ifcMap.value(ifName);
+ return ifConf->getGateway();
+}
+
QList<QString> NetworkDiscovery::getListOfNetworkInterfaces() {
QList<QNetworkInterface> nIList = QNetworkInterface::allInterfaces();
QList<QString> result;
@@ -194,11 +226,12 @@ bool NetworkDiscovery::checkConnectivity(QString ifName) {
// get gateway address
QString pathToGatewayFile(DEFAULT_GATEWAY_INFO_LOCATION);
pathToGatewayFile += ifName;
- interfaceconfiguration ifConf;
- ifConf.readConfigOutOfFile(pathToGatewayFile);
+ interfaceconfiguration *ifConf = new interfaceconfiguration();
+ ifConf->readConfigOutOfFile(pathToGatewayFile);
+ _ifcMap.insert(ifName, ifConf);
// replace default route
- qDebug() << networkManager.replaceDefaultRoute(ifName, ifConf.getGateway(), 0, AF_INET);
+ qDebug() << networkManager.replaceDefaultRoute(ifName, ifConf->getGateway(), 0, AF_INET);
// check connectivity via tcp connection
QTcpSocket *tcpSocket = new QTcpSocket(this);
@@ -216,9 +249,9 @@ bool NetworkDiscovery::checkConnectivity(QString ifName) {
// blockiere jeden weiteren check
// emite continueBoot
_blocked = true;
- emit continueBoot(ifName, _userChoice);
+ emit continueBoot(ifName, 0);
} else {
- emit connectionEstablished(&ifConf);
+ emit connectionEstablished(ifName);
}
return true;
}