summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2004-02-23 15:59:05 (UTC)
committer mickeyl <mickeyl>2004-02-23 15:59:05 (UTC)
commit20b0e62e6c23cdaed9a30d6fad73431edc60be53 (patch) (side-by-side diff)
treea179f858449e56b04883267c61141f163b4dfbac
parent68c8d3eb878f9ba913c42368fbb253d7320c62be (diff)
downloadopie-20b0e62e6c23cdaed9a30d6fad73431edc60be53.zip
opie-20b0e62e6c23cdaed9a30d6fad73431edc60be53.tar.gz
opie-20b0e62e6c23cdaed9a30d6fad73431edc60be53.tar.bz2
addition to API: OWirelessNetworkInterface::signalStrength() [wip]
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opienet/onetwork.cpp8
-rw-r--r--libopie2/opienet/onetwork.h20
2 files changed, 21 insertions, 7 deletions
diff --git a/libopie2/opienet/onetwork.cpp b/libopie2/opienet/onetwork.cpp
index d918193..16fa8ae 100644
--- a/libopie2/opienet/onetwork.cpp
+++ b/libopie2/opienet/onetwork.cpp
@@ -959,16 +959,24 @@ OStationList* OWirelessNetworkInterface::scanNetwork()
else
{
odebug << " - no results (timeout) :(" << oendl;
return stations;
}
}
+int OWirelessNetworkInterface::signalStrength() const
+{
+ int max = _range.max_qual.level;
+ odebug << "signalStrength(): max quality seems to be " << max << "dBM" << oendl;
+ return 50;
+}
+
+
bool OWirelessNetworkInterface::wioctl( int call, struct iwreq& iwreq ) const
{
#ifndef NODEBUG
int result = ::ioctl( _sfd, call, &iwreq );
if ( result == -1 )
odebug << "ONetworkInterface::wioctl (" << name() << ") call '"
<< debugmapper->map( call ) << "' FAILED! " << result << " (" << strerror( errno ) << ")" << oendl;
diff --git a/libopie2/opienet/onetwork.h b/libopie2/opienet/onetwork.h
index bc9e299..9b8a0d4 100644
--- a/libopie2/opienet/onetwork.h
+++ b/libopie2/opienet/onetwork.h
@@ -1,12 +1,12 @@
/*
                This file is part of the Opie Project
-              Copyright (C) 2003 by Michael 'Mickey' Lauer <mickey@Vanille.de>
- =.
+              Copyright (C) 2003-2004 by Michael 'Mickey' Lauer
+ =. <mickey@Vanille.de>
.=l.
           .>+-=
 _;:,     .>    :=|. This program is free software; you can
.> <`_,   >  .   <= redistribute it and/or modify it under
:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
.="- .-=="i,     .._ License as published by the Free Software
 - .   .-<_>     .<> Foundation; either version 2 of the License,
     ._= =}       : or (at your option) any later version.
@@ -55,23 +55,23 @@ class OMonitoringInterface;
* ONetwork
*======================================================================================*/
/**
* @brief A container class for all network interfaces
*
* This class provides access to all available network interfaces of your computer.
*
- * @author Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
+ * @author Michael 'Mickey' Lauer <mickey@vanille.de>
*/
class ONetwork : public QObject
{
Q_OBJECT
- public:
+ public:
typedef QDict<ONetworkInterface> InterfaceMap;
typedef QDictIterator<ONetworkInterface> InterfaceIterator;
public:
/**
* @returns the number of available interfaces
*/
int count() const;
@@ -119,17 +119,17 @@ class ONetwork : public QObject
/**
* @brief A network interface wrapper.
*
* This class provides a wrapper for a network interface. All the cumbersume details of
* Linux ioctls are hidden under a convenient high-level interface.
* @warning Most of the setting methods contained in this class require the appropriate
* process permissions to work.
*
- * @author Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
+ * @author Michael 'Mickey' Lauer <mickey@vanille.de>
*/
class ONetworkInterface : public QObject
{
friend class OMonitoringInterface;
friend class OCiscoMonitoringInterface;
friend class OWlanNGMonitoringInterface;
friend class OHostAPMonitoringInterface;
friend class OOrinocoMonitoringInterface;
@@ -229,17 +229,17 @@ class ONetworkInterface : public QObject
/**
* @brief A radio frequency channel hopper.
*
* This class provides a channel hopper for radio frequencies. A channel hopper frequently
* changes the radio frequency channel of its associated @ref OWirelessNetworkInterface.
* This is necessary when in monitoring mode and scanning for other devices, because
* the radio frequency hardware can only detect packets sent on the same frequency.
*
- * @author Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
+ * @author Michael 'Mickey' Lauer <mickey@vanille.de>
*/
class OChannelHopper : public QObject
{
Q_OBJECT
public:
/**
* Constructor.
@@ -289,17 +289,17 @@ class OChannelHopper : public QObject
* OWirelessNetworkInterface
*======================================================================================*/
/**
* @brief A network interface wrapper for interfaces supporting the wireless extensions protocol.
*
* This class provides a high-level encapsulation of the Linux wireless extension API.
*
- * @author Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
+ * @author Michael 'Mickey' Lauer <mickey@vanille.de>
*/
class OWirelessNetworkInterface : public ONetworkInterface
{
friend class OMonitoringInterface;
friend class OCiscoMonitoringInterface;
friend class OWlanNGMonitoringInterface;
friend class OHostAPMonitoringInterface;
friend class OOrinocoMonitoringInterface;
@@ -409,16 +409,22 @@ class OWirelessNetworkInterface : public ONetworkInterface
* @returns the current SSID (Service Set ID).
*/
virtual QString SSID() const;
/**
* Perform scanning the wireless network neighbourhood.
* @note: UNSTABLE API - UNDER CONSTRUCTION - DON'T USE!
*/
virtual OStationList* scanNetwork();
+ /**
+ * @return signal strength to associated neighbour (in percent).
+ * In infrastructure mode, this is the signal strength of the Access Point.
+ * In other modes the result is driver dependent.
+ */
+ virtual int signalStrength() const;
/** @internal commit pending changes to the driver
*
*/
void commit() const;
protected:
void buildInformation();
void buildPrivateList();