From f70916f3ab05917a3d0dda64beb8db5ac16448ab Mon Sep 17 00:00:00 2001 From: mickeyl Date: Sat, 28 Dec 2002 18:57:11 +0000 Subject: - refactored a number of classes - removed dumb polling ==> QSocketNotifier rocks - switched to parsing the daemon stuff in the gui, since libwellenreiter still has problems. --- (limited to 'noncore') diff --git a/noncore/net/wellenreiter/gui/cardconfig.cpp b/noncore/net/wellenreiter/gui/cardconfig.cpp new file mode 100644 index 0000000..1ca1d27 --- a/dev/null +++ b/noncore/net/wellenreiter/gui/cardconfig.cpp @@ -0,0 +1,29 @@ +/********************************************************************** +** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. +** +** This file is part of Opie Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +**********************************************************************/ + +#include "cardconfig.h" + +#include + +CardConfig::CardConfig( const QString& interface, Type type, int hopinterval ) + :_interface( interface ), _type( type ), _hopinterval( hopinterval ) +{ + +} + +CardConfig::~CardConfig() +{ +} + diff --git a/noncore/net/wellenreiter/gui/cardconfig.h b/noncore/net/wellenreiter/gui/cardconfig.h new file mode 100644 index 0000000..f54ebac --- a/dev/null +++ b/noncore/net/wellenreiter/gui/cardconfig.h @@ -0,0 +1,58 @@ +/********************************************************************** +** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. +** +** This file is part of Opie Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +**********************************************************************/ + +#ifndef CARDCONFIG_H +#define CARDCONFIG_H + +#include + +#ifdef QWS +#include +using namespace Opie; +#endif + +class CardConfig +{ + public: + + typedef enum { Prism, Orinoco, HostAP, Manual } Type; + + public: + + CardConfig( const QString& interface, Type type = Manual, int hopinterval = 100 ); + virtual ~CardConfig(); + + const QString& interface() { return _interface; }; + int hopinterval() { return _hopinterval; }; + Type type() { return _type; }; + + #ifdef QWS + OSystem system() { return _system; }; + #endif + + private: + + QString _interface; + Type _type; + int _hopinterval; + + #ifdef QWS + OSystem _system; + #endif + +}; + +#endif + diff --git a/noncore/net/wellenreiter/gui/configbase.ui b/noncore/net/wellenreiter/gui/configbase.ui index e2f734a..8dcf513 100644 --- a/noncore/net/wellenreiter/gui/configbase.ui +++ b/noncore/net/wellenreiter/gui/configbase.ui @@ -11,7 +11,7 @@ 0 0 - 232 + 228 267 @@ -32,7 +32,7 @@ spacing - 0 + 1 QLayoutWidget @@ -180,12 +180,6 @@ text - cisco - - - - - text orinoco diff --git a/noncore/net/wellenreiter/gui/gui-x11.pro b/noncore/net/wellenreiter/gui/gui-x11.pro index 6b4a7bf..523bf15 100644 --- a/noncore/net/wellenreiter/gui/gui-x11.pro +++ b/noncore/net/wellenreiter/gui/gui-x11.pro @@ -2,10 +2,10 @@ DESTDIR = . TEMPLATE = app CONFIG = qt warn_on debug #CONFIG = qt warn_on release -HEADERS = wellenreiterbase.h wellenreiter.h scanlistitem.h scanlist.h logwindow.h hexwindow.h configwindow.h resource.h -SOURCES = main.cpp wellenreiterbase.cpp wellenreiter.cpp scanlistitem.cpp scanlist.cpp logwindow.cpp hexwindow.cpp configwindow.cpp resource.cpp +HEADERS = wellenreiterbase.h wellenreiter.h scanlistitem.h scanlist.h logwindow.h hexwindow.h configwindow.h resource.h wlan.h cardconfig.h +SOURCES = main.cpp wellenreiterbase.cpp wellenreiter.cpp scanlistitem.cpp scanlist.cpp logwindow.cpp hexwindow.cpp configwindow.cpp resource.cpp wlan.cpp cardconfig.cpp INCLUDEPATH += ../ DEPENDPATH += ../ -LIBS += -lwellenreiter +LIBS += -L. -lwellenreiter INTERFACES = configbase.ui TARGET = wellenreiter diff --git a/noncore/net/wellenreiter/gui/gui.pro b/noncore/net/wellenreiter/gui/gui.pro index b6e884d..ce1c387 100644 --- a/noncore/net/wellenreiter/gui/gui.pro +++ b/noncore/net/wellenreiter/gui/gui.pro @@ -2,10 +2,10 @@ DESTDIR = $(OPIEDIR)/bin TEMPLATE = app CONFIG = qt warn_on debug #CONFIG = qt warn_on release -HEADERS = wellenreiterbase.h wellenreiter.h scanlistitem.h scanlist.h logwindow.h hexwindow.h configwindow.h -SOURCES = main.cpp wellenreiterbase.cpp wellenreiter.cpp scanlistitem.cpp scanlist.cpp logwindow.cpp hexwindow.cpp configwindow.cpp +HEADERS = wellenreiterbase.h wellenreiter.h scanlistitem.h scanlist.h logwindow.h hexwindow.h configwindow.h wlan.h cardconfig.h +SOURCES = main.cpp wellenreiterbase.cpp wellenreiter.cpp scanlistitem.cpp scanlist.cpp logwindow.cpp hexwindow.cpp configwindow.cpp wlan.cpp cardconfig.cpp INCLUDEPATH += $(OPIEDIR)/include ../ DEPENDPATH += $(OPIEDIR)/include ../ -LIBS += -lqpe -lopie -lwellenreiter +LIBS += -lqpe -lopie -L. -lwellenreiter INTERFACES = configbase.ui TARGET = wellenreiter diff --git a/noncore/net/wellenreiter/gui/scanlist.cpp b/noncore/net/wellenreiter/gui/scanlist.cpp index f907afc..6d032aa 100644 --- a/noncore/net/wellenreiter/gui/scanlist.cpp +++ b/noncore/net/wellenreiter/gui/scanlist.cpp @@ -14,4 +14,104 @@ **********************************************************************/ #include "scanlist.h" +#include "scanlistitem.h" + +#include + +MScanListView::MScanListView( QWidget* parent, const char* name ) + :QListView( parent, name ) +{ +}; + +MScanListView::~MScanListView() +{ +}; + +void MScanListView::addNewItem( QString type, QString essid, QString macaddr, bool wep, int channel, int signal ) +{ + // FIXME: scanlistitem needs a proper encapsulation and not such a damn dealing with text(...) + + qDebug( "MScanList::addNewItem( %s / %s / %s [%d]", + (const char*) type, + (const char*) essid, + (const char*) macaddr, + channel ); + + // search, if we already have seen this net + + QString s; + MScanListItem* network; + MScanListItem* item = static_cast ( firstChild() ); + + while ( item && ( item->text( 0 ) != essid ) ) + { + qDebug( "itemtext: %s", (const char*) item->text( 0 ) ); + item = static_cast ( item->itemBelow() ); + } + if ( item ) + { + // animate the item + + /* + + const QPixmap* pixmap = item->pixmap( 0 ); + const QPixmap* nextpixmap = ani2; + if ( pixmap == ani1 ) + nextpixmap = ani2; + else if ( pixmap == ani2 ) + nextpixmap = ani3; + else if ( pixmap == ani3 ) + nextpixmap = ani4; + else if ( pixmap == ani4 ) + nextpixmap = ani1; + item->setPixmap( 0, *nextpixmap ); */ + + //qDebug( "current pixmap %d, next %d", pixmap, nextpixmap ); + + // we have already seen this net, check all childs if MAC exists + + network = item; + + item = static_cast ( item->firstChild() ); + assert( item ); // this shouldn't fail + + while ( item && ( item->text( 2 ) != macaddr ) ) + { + qDebug( "subitemtext: %s", (const char*) item->text( 2 ) ); + item = static_cast ( item->itemBelow() ); + } + + if ( item ) + { + // we have already seen this item, it's a dupe + qDebug( "%s is a dupe - ignoring...", (const char*) macaddr ); + return; + } + } + else + { + s.sprintf( "(i) new network: '%s'", (const char*) essid ); + + network = new MScanListItem( this, "networks", essid, QString::null, 0, 0, 0 ); + } + + + // insert new station as child from network + + // no essid to reduce clutter, maybe later we have a nick or stationname to display!? + + qDebug( "inserting new station %s", (const char*) macaddr ); + + new MScanListItem( network, type, "", macaddr, wep, channel, signal ); + + if ( type == "managed" ) + { + s.sprintf( "(i) new AP in '%s' [%d]", (const char*) essid, channel ); + } + else + { + s.sprintf( "(i) new adhoc station in '%s' [%d]", (const char*) essid, channel ); + } + +} diff --git a/noncore/net/wellenreiter/gui/scanlist.h b/noncore/net/wellenreiter/gui/scanlist.h index 5cf3053..6fe6930 100644 --- a/noncore/net/wellenreiter/gui/scanlist.h +++ b/noncore/net/wellenreiter/gui/scanlist.h @@ -20,8 +20,17 @@ class QString; -class MScanList: public QListView +class MScanListView: public QListView { + Q_OBJECT + + public: + MScanListView( QWidget* parent = 0, const char* name = 0 ); + virtual ~MScanListView(); + + public slots: + void addNewItem( QString type, QString essid, QString macaddr, bool wep, int channel, int signal ); + }; #endif diff --git a/noncore/net/wellenreiter/gui/scanlistitem.cpp b/noncore/net/wellenreiter/gui/scanlistitem.cpp index 1e2a52e..f4b43a6 100644 --- a/noncore/net/wellenreiter/gui/scanlistitem.cpp +++ b/noncore/net/wellenreiter/gui/scanlistitem.cpp @@ -76,3 +76,4 @@ void MScanListItem::decorateItem( QString type, QString essid, QString macaddr, this->type = type; } + diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp index 0fd929f..2d9bbee 100644 --- a/noncore/net/wellenreiter/gui/wellenreiter.cpp +++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp @@ -19,6 +19,7 @@ #include #include #include +#include // Qtopia @@ -26,6 +27,13 @@ #include #endif +// Opie + +#ifdef QWS +#include +using namespace Opie; +#endif + // Standard #include @@ -33,12 +41,14 @@ #include #include #include +#include #include +#include // Local #include "wellenreiter.h" -#include "scanlistitem.h" +#include "scanlist.h" #include "logwindow.h" #include "hexwindow.h" #include "configwindow.h" @@ -53,22 +63,41 @@ Wellenreiter::Wellenreiter( QWidget* parent, const char* name, WFlags fl ) logwindow->log( "(i) Wellenreiter has been started." ); - connect( button, SIGNAL( clicked() ), this, SLOT( buttonClicked() ) ); - netview->setColumnWidthMode( 1, QListView::Manual ); - // - // setup socket for daemon communication and start poller + // detect operating system + // + + #ifdef QWS + QString sys; + sys.sprintf( "(i) Running on '%s'.", (const char*) ODevice::inst()->systemString() ); + _system = ODevice::inst()->system(); + logwindow->log( sys ); + #endif + + // + // setup socket for daemon communication, register socket notifier // daemon_fd = wl_setupsock( GUIADDR, GUIPORT ); if ( daemon_fd == -1 ) { logwindow->log( "(E) Couldn't get file descriptor for commsocket." ); - qDebug( "D'oh! Could not get file descriptor for daemon-->gui communication socket." ); } else - startTimer( 700 ); + { + int flags; + flags = fcntl( daemon_fd, F_GETFL, 0 ); + fcntl( daemon_fd, F_SETFL, flags | O_NONBLOCK ); + QSocketNotifier *sn = new QSocketNotifier( daemon_fd, QSocketNotifier::Read, parent ); + connect( sn, SIGNAL( activated( int ) ), this, SLOT( dataReceived() ) ); + } + // setup GUI + + connect( button, SIGNAL( clicked() ), this, SLOT( buttonClicked() ) ); + button->setEnabled( false ); + netview->setColumnWidthMode( 1, QListView::Manual ); + } Wellenreiter::~Wellenreiter() @@ -82,11 +111,26 @@ void Wellenreiter::handleMessage() qDebug( "received message from daemon." ); - char buffer[128]; - - int result = wl_recv( &daemon_fd, (char*) &buffer, sizeof(buffer) ); - qDebug( "received %d from recvcomm", result ); + char buffer[10000]; + memset( &buffer, 0, sizeof( buffer ) ); + // int result = #wl_recv( &daemon_fd, (char*) &buffer, sizeof(buffer) ); + + struct sockaddr from; + socklen_t len; + + int result = recvfrom( daemon_fd, &buffer, 8192, MSG_WAITALL, &from, &len ); + + qDebug( "received %d from recv [%d bytes]", result, len ); + + if ( result == -1 ) + { + qDebug( "Warning: %s", strerror( errno ) ); + return; + } + + int command = buffer[1] - 48; + /* typedef struct { int net_type; 1 = Accesspoint ; 2 = Ad-Hoc @@ -98,10 +142,11 @@ typedef struct { } wl_network_t; */ - // qDebug( "Sniffer sent: '%s'", (const char*) buffer ); + qDebug( "Recv result: %d", ( result ) ); + qDebug( "Sniffer sent: '%s'", (const char*) buffer ); hexwindow->log( (const char*) &buffer ); - if ( result == NETFOUND ) /* new network found */ + if ( command == NETFOUND ) /* new network found */ { qDebug( "Sniffer said: new network found." ); wl_network_t n; @@ -119,7 +164,7 @@ typedef struct { else type = "adhoc"; - addNewItem( type, n.bssid, QString( (const char*) &n.mac ), n.wep, n.channel, 0 ); + netview->addNewItem( type, n.bssid, QString( (const char*) &n.mac ), n.wep, n.channel, 0 ); } @@ -131,125 +176,28 @@ typedef struct { } - -bool Wellenreiter::hasMessage() +void Wellenreiter::dataReceived() { - - // FIXME: do this in libwellenreiter, not here!!! - - fd_set rfds; - FD_ZERO( &rfds ); - FD_SET( daemon_fd, &rfds ); - struct timeval tv; - tv.tv_sec = 0; - tv.tv_usec = 10; - int result = select( daemon_fd+1, &rfds, NULL, NULL, &tv ); - - if ( result == 0 ) - { - return false; - } - else if ( result == -1 ) - { - qDebug( "selected returned: %s", strerror( errno ) ); - return false; - } - else - return true; //FD_ISSET( daemon_fd, &rfds ); gibbet 'eh nur einen Deskriptor + logwindow->log( "(d) Received data from daemon" ); + handleMessage(); } -void Wellenreiter::timerEvent( QTimerEvent* e ) -{ - //qDebug( "checking for message..." ); - if ( hasMessage() ) - { - //qDebug( "got message from daemon" ); - handleMessage(); - } - else - { - //qDebug( "no message..." ); - } -} - -void Wellenreiter::addNewItem( QString type, QString essid, QString macaddr, bool wep, int channel, int signal ) +void Wellenreiter::buttonClicked() { - // FIXME: this code belongs in customized QListView, not into this class - // FIXME: scanlistitem needs a proper encapsulation and not such a damn dealing with text(...) - - qDebug( "Wellenreiter::addNewItem( %s / %s / %s [%d]", - (const char*) type, - (const char*) essid, - (const char*) macaddr, - channel ); - - // search, if we already have seen this net - - QString s; - MScanListItem* network; - MScanListItem* item = static_cast ( netview->firstChild() ); - - while ( item && ( item->text( 0 ) != essid ) ) - { - qDebug( "itemtext: %s", (const char*) item->text( 0 ) ); - item = static_cast ( item->itemBelow() ); - } - if ( item ) - { - // we have already seen this net, check all childs if MAC exists - - network = item; - - item = static_cast ( item->firstChild() ); - assert( item ); // this shouldn't fail - - while ( item && ( item->text( 2 ) != macaddr ) ) - { - qDebug( "subitemtext: %s", (const char*) item->text( 2 ) ); - item = static_cast ( item->itemBelow() ); - } - - if ( item ) - { - // we have already seen this item, it's a dupe - qDebug( "%s is a dupe - ignoring...", (const char*) macaddr ); - return; - } - } - else - { - s.sprintf( "(i) new network: '%s'", (const char*) essid ); - logwindow->log( s ); - - network = new MScanListItem( netview, "networks", essid, QString::null, 0, 0, 0 ); - } - - - // insert new station as child from network - - // no essid to reduce clutter, maybe later we have a nick or stationname to display!? - - qDebug( "inserting new station %s", (const char*) macaddr ); - - new MScanListItem( network, type, "", macaddr, wep, channel, signal ); - - if ( type == "managed" ) - { - s.sprintf( "(i) new AP in '%s' [%d]", (const char*) essid, channel ); - } - else - { - s.sprintf( "(i) new adhoc station in '%s' [%d]", (const char*) essid, channel ); - } - - logwindow->log( s ); + /* + // add some test stations, so that we can see if the GUI part works + addNewItem( "managed", "Vanille", "04:00:20:EF:A6:43", true, 6, 80 ); + addNewItem( "managed", "Vanille", "04:00:20:EF:A6:23", true, 11, 10 ); + addNewItem( "adhoc", "ELAN", "40:03:43:E7:16:22", false, 3, 10 ); + addNewItem( "adhoc", "ELAN", "40:03:53:E7:56:62", false, 3, 15 ); + addNewItem( "adhoc", "ELAN", "40:03:63:E7:56:E2", false, 3, 20 ); + */ -} -void Wellenreiter::buttonClicked() -{ if ( daemonRunning ) { + daemonRunning = false; + logwindow->log( "(i) Daemon has been stopped." ); button->setText( "Start Scanning" ); @@ -316,20 +264,5 @@ void Wellenreiter::buttonClicked() system( cmdline ); qDebug( "done" ); - /* - - // add some test stations, so that we can see if the GUI part works - - addNewItem( "managed", "Vanille", "04:00:20:EF:A6:43", true, 6, 80 ); - addNewItem( "managed", "Vanille", "04:00:20:EF:A6:23", true, 11, 10 ); - addNewItem( "adhoc", "ELAN", "40:03:43:E7:16:22", false, 3, 10 ); - addNewItem( "adhoc", "ELAN", "40:03:53:E7:56:62", false, 3, 15 ); - addNewItem( "adhoc", "ELAN", "40:03:63:E7:56:E2", false, 3, 20 ); - - QString command ("98"); - - //sendcomm( DAEMONADDR, DAEMONPORT, (const char*) command ); - - */ } } diff --git a/noncore/net/wellenreiter/gui/wellenreiter.h b/noncore/net/wellenreiter/gui/wellenreiter.h index 052a242..2296892 100644 --- a/noncore/net/wellenreiter/gui/wellenreiter.h +++ b/noncore/net/wellenreiter/gui/wellenreiter.h @@ -18,7 +18,13 @@ #include "wellenreiterbase.h" +#ifdef QWS +#include +using namespace Opie; +#endif + class QTimerEvent; +class QPixmap; class Wellenreiter : public WellenreiterBase { Q_OBJECT @@ -29,20 +35,20 @@ public: ~Wellenreiter(); protected: - virtual void timerEvent( QTimerEvent* ); bool daemonRunning; public slots: void buttonClicked(); - void addNewItem( QString type, QString essid, QString ap, bool wep, int channel, int signal ); + void dataReceived(); private: - int daemon_fd; // socket filedescriptor for udp communication socket - - bool hasMessage(); + int daemon_fd; // socket filedescriptor for udp communication socket + #ifdef QWS + OSystem _system; // Opie Operating System identifier + #endif void handleMessage(); - + //void readConfig(); //void writeConfig(); }; diff --git a/noncore/net/wellenreiter/gui/wellenreiterbase.cpp b/noncore/net/wellenreiter/gui/wellenreiterbase.cpp index 5017b08..d6b9891 100644 --- a/noncore/net/wellenreiter/gui/wellenreiterbase.cpp +++ b/noncore/net/wellenreiter/gui/wellenreiterbase.cpp @@ -30,6 +30,7 @@ #include "logwindow.h" #include "hexwindow.h" #include "configwindow.h" +#include "scanlist.h" #ifdef QWS #include @@ -47,6 +48,11 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags fl ) : QWidget( parent, name, fl ) { + ani1 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot0" ) ); + ani2 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot90" ) ); + ani3 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot180" ) ); + ani4 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot270" ) ); + if ( !name ) setName( "WellenreiterBase" ); resize( 191, 294 ); @@ -66,7 +72,7 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f //--------- NETVIEW TAB -------------- - netview = new QListView( ap, "netview" ); + netview = new MScanListView( ap ); netview->addColumn( tr( "SSID" ) ); netview->setColumnAlignment( 0, AlignLeft || AlignVCenter ); netview->addColumn( tr( "Sig" ) ); diff --git a/noncore/net/wellenreiter/gui/wellenreiterbase.h b/noncore/net/wellenreiter/gui/wellenreiterbase.h index fce25d1..edb2930 100644 --- a/noncore/net/wellenreiter/gui/wellenreiterbase.h +++ b/noncore/net/wellenreiter/gui/wellenreiterbase.h @@ -22,8 +22,8 @@ class QVBoxLayout; class QHBoxLayout; class QGridLayout; class QLabel; -class QListView; -class QListViewItem; +class MScanListView; +class MScanListItem; class QPushButton; class MLogWindow; class MHexWindow; @@ -49,7 +49,7 @@ public: QTabWidget* TabWidget; #endif QWidget* ap; - QListView* netview; + MScanListView* netview; MLogWindow* logwindow; MHexWindow* hexwindow; WellenreiterConfigWindow* configwindow; @@ -63,6 +63,13 @@ protected: QVBoxLayout* apLayout; QGridLayout* aboutLayout; bool event( QEvent* ); + + QPixmap* ani1; + QPixmap* ani2; + QPixmap* ani3; + QPixmap* ani4; + + }; #endif // WELLENREITERBASE_H diff --git a/noncore/net/wellenreiter/gui/wlan.cpp b/noncore/net/wellenreiter/gui/wlan.cpp new file mode 100644 index 0000000..b046cc8 --- a/dev/null +++ b/noncore/net/wellenreiter/gui/wlan.cpp @@ -0,0 +1,57 @@ +/********************************************************************** +** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. +** +** This file is part of Opie Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +**********************************************************************/ + +#include "wlan.h" +#include "cardconfig.h" + +// Qt +#include + +// Qtopia +#ifdef QWS +#include +using namespace Opie; +#endif + +WLAN::WLAN( const QString& interface ) +{ + _configuration = new CardConfig( interface ); +} + +WLAN::WLAN( const CardConfig* configuration ) +{ + _configuration = configuration; + +} + +WLAN::~WLAN() +{ + delete _configuration; + +} + +void WLAN::setMonitorMode( bool enabled ) +{ + + /* + + if ( _configuration->system() == System_OpenZaurus && _configuration->type() == CardConfig::Prism ) + { + } + + */ + +} + diff --git a/noncore/net/wellenreiter/gui/wlan.h b/noncore/net/wellenreiter/gui/wlan.h new file mode 100644 index 0000000..139e218 --- a/dev/null +++ b/noncore/net/wellenreiter/gui/wlan.h @@ -0,0 +1,38 @@ +/********************************************************************** +** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. +** +** This file is part of Opie Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +**********************************************************************/ + +#ifndef WLAN_H +#define WLAN_H + +class QString; +class CardConfig; + +class WLAN +{ + public: + + WLAN( const QString& interface ); + WLAN( const CardConfig* ); + virtual ~WLAN(); + void setMonitorMode( bool enabled ); + + private: + + const CardConfig* _configuration; + +}; + +#endif + -- cgit v0.9.0.2