summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNiklas2011-09-29 15:48:11 +0200
committerNiklas2011-09-29 15:48:11 +0200
commit1a88507a1b7294e6288e64bbd326c9ef923f656e (patch)
tree4210a9a2c201d91112d895c743a8ef773df3b24a
parentdid some refactoring. added a user choice screen which is shown 2 seconds bef... (diff)
downloadfbgui-1a88507a1b7294e6288e64bbd326c9ef923f656e.tar.gz
fbgui-1a88507a1b7294e6288e64bbd326c9ef923f656e.tar.xz
fbgui-1a88507a1b7294e6288e64bbd326c9ef923f656e.zip
tried to solve the timing problem. but failed. it is also enough to test for the isRunning flag in order to get informations about pluged state
-rw-r--r--LogReceiver/ndgui.cpp12
-rw-r--r--LogReceiver/networkdiscovery.cpp17
-rw-r--r--LogReceiver/networkdiscovery.h2
3 files changed, 19 insertions, 12 deletions
diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp
index be01224..eafc2f6 100644
--- a/LogReceiver/ndgui.cpp
+++ b/LogReceiver/ndgui.cpp
@@ -116,18 +116,6 @@ void ndgui::showLog() {
QVariantList ndgui::getManualConfInterfaces() {
qDebug() << "call getManualConfInterfaces";
- /*
- QString jsonArr("");
- if(_manConfList.size() > 0) {
- jsonArr = "[";
- for(int i = 0; i < _manConfList.size()-1; i++) {
- jsonArr += "'" + _manConfList.value(i) + "',";
- }
- jsonArr += "'" + _manConfList.last() + "']";
-
- }
- qDebug() << "value of jsonArr:" << jsonArr;
- */
QVariantList jsonArr;
foreach (QString s, _manConfList) {
QVariant e(s);
diff --git a/LogReceiver/networkdiscovery.cpp b/LogReceiver/networkdiscovery.cpp
index a526a6f..ee0b5ad 100644
--- a/LogReceiver/networkdiscovery.cpp
+++ b/LogReceiver/networkdiscovery.cpp
@@ -154,6 +154,11 @@ QList<QString> NetworkDiscovery::getListOfNetworkInterfaces() {
if(!(nI.flags() & QNetworkInterface::IsUp)) {
_networkManager.bringInterfaceUP(nI.humanReadableName());
}
+ /*
+ * if(!checkForIsRunning(nI)) {
+ continue;
+ }
+ */
if (!checkCarrierState(nI.humanReadableName())) {
continue;
}
@@ -166,6 +171,18 @@ QList<QString> NetworkDiscovery::getListOfNetworkInterfaces() {
return result;
}
+bool NetworkDiscovery::checkForIsRunning(QNetworkInterface networkInterface) {
+ bool retval = false;
+ for (int i = 0; i < 4; i++) {
+ retval = (networkInterface.flags() & QNetworkInterface::IsRunning);
+ if(retval) {
+ return retval;
+ }
+ sleep(1);
+ }
+ return retval;
+}
+
QList<QString> NetworkDiscovery::checkCarrierState(QList<QString> &interfaces) {
QList<QString> result;
foreach(QString nI, interfaces)
diff --git a/LogReceiver/networkdiscovery.h b/LogReceiver/networkdiscovery.h
index 913a5b4..4a9bc3c 100644
--- a/LogReceiver/networkdiscovery.h
+++ b/LogReceiver/networkdiscovery.h
@@ -8,6 +8,7 @@
#include <arpa/inet.h>
#include <stdio.h>
+#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <syslog.h>
@@ -93,6 +94,7 @@ private:
void runDHCPCD(QString interface);
QList<QString>checkCarrierState(QList<QString> &interfaces);
bool checkCarrierState(QString interface);
+ bool checkForIsRunning(QNetworkInterface networkInterface);
bool checkConnectivity(QString ifName);
bool checkConnectivityViaTcp(QString server);
QList<QString> getListOfNetworkInterfaces();