summaryrefslogtreecommitdiff
path: root/noncore/applets/wirelessapplet/networkinfo.cpp
Side-by-side diff
Diffstat (limited to 'noncore/applets/wirelessapplet/networkinfo.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/applets/wirelessapplet/networkinfo.cpp30
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