Diffstat (limited to 'noncore/applets/wirelessapplet/networkinfo.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/applets/wirelessapplet/networkinfo.cpp | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/noncore/applets/wirelessapplet/networkinfo.cpp b/noncore/applets/wirelessapplet/networkinfo.cpp index 22d7d83..8531fd5 100644 --- a/noncore/applets/wirelessapplet/networkinfo.cpp +++ b/noncore/applets/wirelessapplet/networkinfo.cpp @@ -48,12 +48,14 @@ #define IW_UPPER 220 #define IW_LOWER 140 #define PROCNETDEV "/proc/net/dev" #define PROCNETWIRELESS "/proc/net/wireless" +#define MDEBUG 0 + //--------------------------------------------------------------------------- // class MNetworkInterface // MNetworkInterface::MNetworkInterface( const char* name ) :name( name ) @@ -66,14 +68,15 @@ MNetworkInterface::MNetworkInterface( const char* name ) MNetworkInterface::~MNetworkInterface() { if ( fd != -1 ) close( fd ); } -void MNetworkInterface::updateStatistics() +bool MNetworkInterface::updateStatistics() { + return true; } //--------------------------------------------------------------------------- // class MWirelessNetworkInterface // @@ -101,15 +104,17 @@ int MWirelessNetworkInterface::signalPercent() int MWirelessNetworkInterface::noisePercent() { return ( ( noise-IW_LOWER ) * 100 ) / IW_UPPER; } -void MWirelessNetworkInterface::updateStatistics() +bool MWirelessNetworkInterface::updateStatistics() { - MNetworkInterface::updateStatistics(); + bool base = MNetworkInterface::updateStatistics(); + if ( !base ) + return false; const char* buffer[200]; struct iwreq iwr; memset( &iwr, 0, sizeof( iwr ) ); iwr.u.essid.pointer = (caddr_t) buffer; @@ -178,57 +183,64 @@ void MWirelessNetworkInterface::updateStatistics() { wstream.readLine(); // skip the first two lines wstream.readLine(); // because they only contain headers } if ( ( !hasFile ) || ( wstream.atEnd() ) ) { +#ifdef MDEBUG qDebug( "WIFIAPPLET: D'oh! Someone removed the card..." ); +#endif quality = -1; signal = IW_LOWER; noise = IW_LOWER; - return; + return false; } wstream >> name >> status >> quality >> c >> signal >> c >> noise; if ( quality > 92 ) +#ifdef MDEBUG qDebug( "WIFIAPPLET: D'oh! Quality %d > estimated max!\n", quality ); +#endif if ( ( signal > IW_UPPER ) || ( signal < IW_LOWER ) ) +#ifdef MDEBUG qDebug( "WIFIAPPLET: Doh! Strength %d > estimated max!\n", signal ); +#endif if ( ( noise > IW_UPPER ) || ( noise < IW_LOWER ) ) +#ifdef MDEBUG qDebug( "WIFIAPPLET: Doh! Noise %d > estimated max!\n", noise ); +#endif + + return true; + } //--------------------------------------------------------------------------- // class Network // MNetwork::MNetwork() { - //qDebug( "MNetwork::MNetwork()" ); procfile = PROCNETDEV; } MNetwork::~MNetwork() { - //qDebug( "MNetwork::~MNetwork()" ); } //--------------------------------------------------------------------------- // class WirelessNetwork // MWirelessNetwork::MWirelessNetwork() { - //qDebug( "MWirelessNetwork::MWirelessNetwork()" ); procfile = PROCNETWIRELESS; } MWirelessNetwork::~MWirelessNetwork() { - //qDebug( "MWirelessNetwork::~MWirelessNetwork()" ); } MNetworkInterface* MWirelessNetwork::createInterface( const char* n ) const { return new MWirelessNetworkInterface( n ); } @@ -256,13 +268,15 @@ void MNetwork::enumerateInterfaces() s.readLine(); s.readLine(); while ( !s.atEnd() ) { s >> str; str.truncate( str.find( ':' ) ); +#ifdef MDEBUG qDebug( "WIFIAPPLET: found interface '%s'", (const char*) str ); +#endif interfaces.insert( str, createInterface( str ) ); s.readLine(); } } MNetworkInterface* MNetwork::createInterface( const char* n ) const |