summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2003-03-31 10:20:23 (UTC)
committer mickeyl <mickeyl>2003-03-31 10:20:23 (UTC)
commit2318b309ef4c5147fa1a975b7b261ceec5dd13a7 (patch) (side-by-side diff)
tree6deeb4aa1179bb69d6bb1b0bd0ee731e80ad896c
parentab65bc6a80f1c93ebd54b8c65563efde934dc45a (diff)
downloadopie-2318b309ef4c5147fa1a975b7b261ceec5dd13a7.zip
opie-2318b309ef4c5147fa1a975b7b261ceec5dd13a7.tar.gz
opie-2318b309ef4c5147fa1a975b7b261ceec5dd13a7.tar.bz2
reenable the X11 standalone build (qmake platform=x11 wellenreiter.pro)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/gui.pro5
-rw-r--r--noncore/net/wellenreiter/gui/main.cpp13
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp28
-rw-r--r--noncore/net/wellenreiter/lib/.cvsignore4
-rw-r--r--noncore/net/wellenreiter/lib/lib.pro28
-rw-r--r--noncore/net/wellenreiter/wellenreiter.pro3
6 files changed, 68 insertions, 13 deletions
diff --git a/noncore/net/wellenreiter/gui/gui.pro b/noncore/net/wellenreiter/gui/gui.pro
index 505d376..5a8972c 100644
--- a/noncore/net/wellenreiter/gui/gui.pro
+++ b/noncore/net/wellenreiter/gui/gui.pro
@@ -1,43 +1,42 @@
MOC_DIR = ./tmp
OBJECTS_DIR = ./tmp
DESTDIR = $(OPIEDIR)/bin
TEMPLATE = app
CONFIG = qt warn_on debug
HEADERS = wellenreiterbase.h \
mainwindow.h \
wellenreiter.h \
scanlist.h \
logwindow.h \
hexwindow.h \
configwindow.h \
manufacturers.h
SOURCES = main.cpp \
mainwindow.cpp \
wellenreiterbase.cpp \
wellenreiter.cpp \
scanlist.cpp \
logwindow.cpp \
hexwindow.cpp \
configwindow.cpp \
manufacturers.cpp
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
-LIBS += -lopiecore2 -lopieui2 -lopienet2
INTERFACES = configbase.ui
TARGET = wellenreiter
!contains( platform, x11 ) {
message( qws )
include ( $(OPIEDIR)/include.pro )
- LIBS += -lqpe -lopie
+ LIBS += -lqpe -lopie -lopiecore2 -lopieui2 -lopienet2
}
contains( platform, x11 ) {
- LIBS += -L$(OPIEDIR)/lib -Wl,-rpath,$(OPIEDIR)/lib
+ LIBS += -L$(OPIEDIR)/lib -Wl,-rpath,$(OPIEDIR)/lib -lwellenreiter
SOURCES += resource.cpp
HEADERS += resource.h
}
diff --git a/noncore/net/wellenreiter/gui/main.cpp b/noncore/net/wellenreiter/gui/main.cpp
index 96a8c1c..8d4ef57 100644
--- a/noncore/net/wellenreiter/gui/main.cpp
+++ b/noncore/net/wellenreiter/gui/main.cpp
@@ -1,27 +1,40 @@
/**********************************************************************
** 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 "mainwindow.h"
+#ifdef QWS
#include <opie2/oapplication.h>
+#else
+#include <qapplication.h>
+#endif
int main( int argc, char **argv )
{
+ #ifdef QWS
OApplication a( argc, argv, "Wellenreiter II" );
+ #else
+ QApplication a( argc, argv );
+ #endif
WellenreiterMainWindow* w = new WellenreiterMainWindow();
+ #ifdef QWS
a.showMainWidget( w );
+ #else
+ a.setMainWidget( w );
+ w->show();
+ #endif
a.exec();
delete w;
return 0;
}
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index 3bff7c4..41ffdcc 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -1,228 +1,240 @@
/**********************************************************************
** 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.
**
***********************************************************************/
-// Qt
-
-#include <qpushbutton.h>
-#include <qmessagebox.h>
-#include <qcombobox.h>
-#include <qspinbox.h>
-#include <qsocketnotifier.h>
-
// Opie
#ifdef QWS
#include <opie/odevice.h>
using namespace Opie;
#endif
+#ifdef QWS
#include <opie2/oapplication.h>
+#else
+#include <qapplication.h>
+#endif
#include <opie2/onetwork.h>
#include <opie2/opcap.h>
+// Qt
+
+#include <qpushbutton.h>
+#include <qmessagebox.h>
+#include <qcombobox.h>
+#include <qspinbox.h>
+#include <qsocketnotifier.h>
+
// Standard
#include <assert.h>
#include <errno.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <stdlib.h>
// Local
#include "wellenreiter.h"
#include "scanlist.h"
#include "logwindow.h"
#include "hexwindow.h"
#include "configwindow.h"
#include "manufacturers.h"
Wellenreiter::Wellenreiter( QWidget* parent )
: WellenreiterBase( parent, 0, 0 ),
sniffing( false ), iface( 0 ), manufacturerdb( 0 ), configwindow( 0 )
{
//
// construct manufacturer database
//
QString manufile;
#ifdef QWS
manufile.sprintf( "%s/share/wellenreiter/manufacturers.dat", (const char*) QPEApplication::qpeDir() );
#else
manufile.sprintf( "/usr/local/share/wellenreiter/manufacturers.dat" );
#endif
manufacturerdb = new ManufacturerDB( manufile );
logwindow->log( "(i) Wellenreiter has been started." );
//
// 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 GUI
netview->setColumnWidthMode( 1, QListView::Manual );
if ( manufacturerdb )
netview->setManufacturerDB( manufacturerdb );
pcap = new OPacketCapturer();
}
Wellenreiter::~Wellenreiter()
{
// no need to delete child widgets, Qt does it all for us
delete manufacturerdb;
delete pcap;
}
void Wellenreiter::setConfigWindow( WellenreiterConfigWindow* cw )
{
configwindow = cw;
}
void Wellenreiter::receivePacket(OPacket* p)
{
logwindow->log( "(d) Received data from daemon" );
//TODO
// check if we received a beacon frame
// static_cast is justified here
OWaveLanManagementPacket* beacon = static_cast<OWaveLanManagementPacket*>( p->child( "802.11 Management" ) );
if ( !beacon ) return;
QString type;
//FIXME: Can stations in ESS mode can be distinguished from APs?
//FIXME: Apparently yes, but not by listening to beacons, because
//FIXME: they simply don't send beacons in infrastructure mode.
//FIXME: so we also have to listen to data packets
if ( beacon->canIBSS() )
type = "adhoc";
else
type = "managed";
OWaveLanManagementSSID* ssid = static_cast<OWaveLanManagementSSID*>( p->child( "802.11 SSID" ) );
QString essid = ssid ? ssid->ID() : QString("<unknown>");
OWaveLanManagementDS* ds = static_cast<OWaveLanManagementDS*>( p->child( "802.11 DS" ) );
int channel = ds ? ds->channel() : -1;
OWaveLanPacket* header = static_cast<OWaveLanPacket*>( p->child( "802.11" ) );
netView()->addNewItem( type, essid, header->macAddress2().toString(), header->usesWep(), channel, 0 );
}
void Wellenreiter::startStopClicked()
{
if ( sniffing )
{
disconnect( SIGNAL( receivedPacket(OPacket*) ), this, SLOT( receivePacket(OPacket*) ) );
iface->setChannelHopping(); // stop hopping channels
pcap->close();
sniffing = false;
+ #ifdef QWS
oApp->setTitle();
+ #else
+ qApp->mainWidget()->setCaption( "Wellenreiter II" );
+ #endif
// get interface name from config window
const QString& interface = configwindow->interfaceName->currentText();
ONetwork* net = ONetwork::instance();
iface = static_cast<OWirelessNetworkInterface*>(net->interface( interface ));
// switch off monitor mode
iface->setMonitorMode( false );
// switch off promisc flag
iface->setPromiscuousMode( false );
//TODO: Display "please wait..." (use owait?)
/*
QString cmdline;
cmdline.sprintf( "ifdown %s; sleep 1; ifup %s", (const char*) interface, (const char*) interface, (const char*) interface );
system( cmdline ); //FIXME: Use OProcess
*/
// message the user
//QMessageBox::information( this, "Wellenreiter II", "Your wireless card\nshould now be usable again." );
}
else
{
// get configuration from config window
const QString& interface = configwindow->interfaceName->currentText();
const int cardtype = configwindow->daemonDeviceType();
const int interval = configwindow->daemonHopInterval();
if ( ( interface == "" ) || ( cardtype == 0 ) )
{
QMessageBox::information( this, "Wellenreiter II", "Your device is not\nproperly configured. Please reconfigure!" );
return;
}
// configure device
ONetwork* net = ONetwork::instance();
iface = static_cast<OWirelessNetworkInterface*>(net->interface( interface ));
// set monitor mode
switch ( cardtype )
{
case 1: iface->setMonitoring( new OCiscoMonitoringInterface( iface ) ); break;
case 2: iface->setMonitoring( new OWlanNGMonitoringInterface( iface ) ); break;
case 3: iface->setMonitoring( new OHostAPMonitoringInterface( iface ) ); break;
case 4: iface->setMonitoring( new OOrinocoMonitoringInterface( iface ) ); break;
default: assert( 0 ); // shouldn't happen
}
iface->setMonitorMode( true );
// open pcap and start sniffing
pcap->open( interface );
if ( !pcap->isOpen() )
{
QMessageBox::warning( this, "Wellenreiter II", "Can't open packet capturer:\n" + QString(strerror( errno ) ));
return;
}
// set capturer to non-blocking mode
pcap->setBlocking( false );
// start channel hopper
iface->setChannelHopping( 1000 ); //use interval from config window
// connect
connect( pcap, SIGNAL( receivedPacket(OPacket*) ), this, SLOT( receivePacket(OPacket*) ) );
logwindow->log( "(i) Daemon has been started." );
+ #ifdef QWS
oApp->setTitle( "Scanning ..." );
+ #else
+ qApp->mainWidget()->setCaption( "Wellenreiter II / Scanning ..." );
+ #endif
sniffing = true;
}
}
diff --git a/noncore/net/wellenreiter/lib/.cvsignore b/noncore/net/wellenreiter/lib/.cvsignore
new file mode 100644
index 0000000..924753a
--- a/dev/null
+++ b/noncore/net/wellenreiter/lib/.cvsignore
@@ -0,0 +1,4 @@
+*.o
+*~
+moc_*
+Makefile
diff --git a/noncore/net/wellenreiter/lib/lib.pro b/noncore/net/wellenreiter/lib/lib.pro
new file mode 100644
index 0000000..8728323
--- a/dev/null
+++ b/noncore/net/wellenreiter/lib/lib.pro
@@ -0,0 +1,28 @@
+MOC_DIR = ./tmp
+OBJECTS_DIR = ./tmp
+DESTDIR = $(OPIEDIR)/lib
+TEMPLATE = lib
+CONFIG = qt warn_on debug
+
+HEADERS = $(OPIEDIR)/libopie2/opieui/olistview.h \
+ $(OPIEDIR)/libopie2/opienet/onetutils.h \
+ $(OPIEDIR)/libopie2/opienet/onetwork.h \
+ $(OPIEDIR)/libopie2/opienet/opcap.h
+
+SOURCES = $(OPIEDIR)/libopie2/opieui/olistview.cpp \
+ $(OPIEDIR)/libopie2/opienet/onetutils.cpp \
+ $(OPIEDIR)/libopie2/opienet/onetwork.cpp \
+ $(OPIEDIR)/libopie2/opienet/opcap.cpp
+
+INCLUDEPATH += $(OPIEDIR)/include
+DEPENDPATH += $(OPIEDIR)/include
+LIBS = -lpcap
+TARGET = wellenreiter
+VERSION = 1.0.0
+
+contains( platform, x11 ) {
+ LIBS += -L$(OPIEDIR)/lib -Wl,-rpath,$(OPIEDIR)/lib
+ SOURCES += resource.cpp
+ HEADERS += resource.h
+}
+
diff --git a/noncore/net/wellenreiter/wellenreiter.pro b/noncore/net/wellenreiter/wellenreiter.pro
index d473695..6fe49c3 100644
--- a/noncore/net/wellenreiter/wellenreiter.pro
+++ b/noncore/net/wellenreiter/wellenreiter.pro
@@ -1,14 +1,13 @@
TEMPLATE = subdirs
-unix:SUBDIRS = gui
-
+unix:SUBDIRS = lib gui
!contains( platform, x11 ) {
message( Configuring Wellenreiter for build on Opie )
include ( $(OPIEDIR)/include.pro )
}
contains( platform, x11 ) {
message( Configuring Wellenreiter for build on Qt/X11 )
system( mkdir -p $OPIEDIR/lib $OPIEDIR/bin $OPIEDIR/share/pics )
}