summaryrefslogtreecommitdiffstats
path: root/LogReceiver
diff options
context:
space:
mode:
authorNiklas2011-09-29 15:48:11 +0200
committerNiklas2011-09-29 15:48:11 +0200
commit1a88507a1b7294e6288e64bbd326c9ef923f656e (patch)
tree4210a9a2c201d91112d895c743a8ef773df3b24a /LogReceiver
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
Diffstat (limited to 'LogReceiver')
-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();