-rw-r--r-- | noncore/applets/wirelessapplet/networkinfo.cpp | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/noncore/applets/wirelessapplet/networkinfo.cpp b/noncore/applets/wirelessapplet/networkinfo.cpp index dc5c3be..22d7d83 100644 --- a/noncore/applets/wirelessapplet/networkinfo.cpp +++ b/noncore/applets/wirelessapplet/networkinfo.cpp @@ -167,22 +167,24 @@ void MWirelessNetworkInterface::updateStatistics() else freq = 0; // gather link quality from /proc/net/wireless char c; QString status; QString name; QFile wfile( PROCNETWIRELESS ); - wfile.open( IO_ReadOnly ); + bool hasFile = wfile.open( IO_ReadOnly ); QTextStream wstream( &wfile ); - wstream.readLine(); // skip the first two lines - wstream.readLine(); // because they only contain headers - - if ( wstream.atEnd() ) + if ( hasFile ) + { + wstream.readLine(); // skip the first two lines + wstream.readLine(); // because they only contain headers + } + if ( ( !hasFile ) || ( wstream.atEnd() ) ) { qDebug( "WIFIAPPLET: D'oh! Someone removed the card..." ); quality = -1; signal = IW_LOWER; noise = IW_LOWER; return; } @@ -197,38 +199,38 @@ void MWirelessNetworkInterface::updateStatistics() } //--------------------------------------------------------------------------- // class Network // MNetwork::MNetwork() { - qDebug( "MNetwork::MNetwork()" ); - procfile = "/proc/net/dev"; + //qDebug( "MNetwork::MNetwork()" ); + procfile = PROCNETDEV; } MNetwork::~MNetwork() { - qDebug( "MNetwork::~MNetwork()" ); + //qDebug( "MNetwork::~MNetwork()" ); } //--------------------------------------------------------------------------- // class WirelessNetwork // MWirelessNetwork::MWirelessNetwork() { - qDebug( "MWirelessNetwork::MWirelessNetwork()" ); - procfile = "/proc/net/wireless"; + //qDebug( "MWirelessNetwork::MWirelessNetwork()" ); + procfile = PROCNETWIRELESS; } MWirelessNetwork::~MWirelessNetwork() { - qDebug( "MWirelessNetwork::~MWirelessNetwork()" ); + //qDebug( "MWirelessNetwork::~MWirelessNetwork()" ); } MNetworkInterface* MWirelessNetwork::createInterface( const char* n ) const { return new MWirelessNetworkInterface( n ); } //--------------------------------------------------------------------------- @@ -242,17 +244,19 @@ MNetworkInterface* MNetwork::getFirstInterface() return ( it.count() > 0 ) ? it.toFirst() : 0; } void MNetwork::enumerateInterfaces() { interfaces.clear(); QString str; QFile f( procfile ); - f.open( IO_ReadOnly ); + bool hasFile = f.open( IO_ReadOnly ); + if ( !hasFile ) + return; QTextStream s( &f ); s.readLine(); s.readLine(); while ( !s.atEnd() ) { s >> str; str.truncate( str.find( ':' ) ); qDebug( "WIFIAPPLET: found interface '%s'", (const char*) str ); |