From fcb16100b5aa80934c90ddd4a386acb14317f460 Mon Sep 17 00:00:00 2001 From: Niklas Date: Tue, 27 Sep 2011 17:03:35 +0200 Subject: manual config gui added. put the interfaceconfig map into networkDiscovery and adopted the signals. --- LogReceiver/networkdiscovery.cpp | 45 ++++++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 6 deletions(-) (limited to 'LogReceiver/networkdiscovery.cpp') 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 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 NetworkDiscovery::getListOfNetworkInterfaces() { QList nIList = QNetworkInterface::allInterfaces(); QList 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; } -- cgit v1.2.3-55-g7522