summaryrefslogtreecommitdiff
path: root/libopie2/opienet
Side-by-side diff
Diffstat (limited to 'libopie2/opienet') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opienet/onetwork.cpp7
-rw-r--r--libopie2/opienet/onetwork.h9
2 files changed, 16 insertions, 0 deletions
diff --git a/libopie2/opienet/onetwork.cpp b/libopie2/opienet/onetwork.cpp
index e916c44..73b543b 100644
--- a/libopie2/opienet/onetwork.cpp
+++ b/libopie2/opienet/onetwork.cpp
@@ -349,6 +349,7 @@ int OChannelHopper::channel() const
void OChannelHopper::timerEvent( QTimerEvent* )
{
_iface->setChannel( *_channel );
+ emit( hopped( *_channel ) );
qDebug( "OChannelHopper::timerEvent(): set channel %d on interface '%s'",
*_channel, (const char*) _iface->name() );
if ( ++_channel == _channels.end() ) _channel = _channels.begin();
@@ -593,6 +594,12 @@ int OWirelessNetworkInterface::channelHopping() const
}
+OChannelHopper* OWirelessNetworkInterface::channelHopper() const
+{
+ return _hopper;
+}
+
+
void OWirelessNetworkInterface::setMonitorMode( bool b )
{
if ( _mon )
diff --git a/libopie2/opienet/onetwork.h b/libopie2/opienet/onetwork.h
index 10f52b8..d2cc25d 100644
--- a/libopie2/opienet/onetwork.h
+++ b/libopie2/opienet/onetwork.h
@@ -227,6 +227,8 @@ class ONetworkInterface : public QObject
*/
class OChannelHopper : public QObject
{
+ Q_OBJECT
+
public:
OChannelHopper( OWirelessNetworkInterface* );
virtual ~OChannelHopper();
@@ -236,6 +238,9 @@ class OChannelHopper : public QObject
void setInterval( int );
int interval() const;
+ signals:
+ void hopped( int );
+
private:
OWirelessNetworkInterface* _iface;
int _interval;
@@ -325,6 +330,10 @@ class OWirelessNetworkInterface : public ONetworkInterface
*/
virtual int channelHopping() const;
/**
+ * @returns the @ref OChannelHopper of this interface or 0, if channel hopping has not been activated before
+ */
+ virtual OChannelHopper* channelHopper() const;
+ /**
* Set the station @a nickname.
*/
virtual void setNickName( const QString& nickname ) {}; //FIXME: Implement this