From 1a88507a1b7294e6288e64bbd326c9ef923f656e Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 29 Sep 2011 15:48:11 +0200 Subject: 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 --- LogReceiver/networkdiscovery.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'LogReceiver/networkdiscovery.cpp') 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 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 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 NetworkDiscovery::checkCarrierState(QList &interfaces) { QList result; foreach(QString nI, interfaces) -- cgit v1.2.3-55-g7522