diff options
Diffstat (limited to 'LogReceiver/networkdiscovery.cpp')
| -rw-r--r-- | LogReceiver/networkdiscovery.cpp | 45 |
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; } |
