summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/networksettings/TODO6
-rw-r--r--noncore/settings/networksettings/wlan/wlanimp2.cpp2
-rw-r--r--noncore/settings/networksettings/wlan/wlanmodule.cpp50
-rw-r--r--noncore/settings/networksettings/wlan/wlanmodule.h7
4 files changed, 55 insertions, 10 deletions
diff --git a/noncore/settings/networksettings/TODO b/noncore/settings/networksettings/TODO
index 614501f..b28c5a0 100644
--- a/noncore/settings/networksettings/TODO
+++ b/noncore/settings/networksettings/TODO
@@ -1,12 +1,18 @@
+* make dcop handling portable
+* move dcop call for start, stop interfaces from wlan to interface
+
+
+Old TODO of Benmayer:
+
Types:
-Ethernet Connection (Done)
-ISDN Connection
-Modem COnnection (Started)
-xDSL connection
-Token Ring Connection
-CIPE (VPN) connection (ipsec?)
-Wireless Connection (Done)
-Bluetooth
-IPChains?
When Zaurus is in cradle, USB interface is connected and reported as UP by the Network Setting application, clicking on Information button does not popup a window. It used to work before, but now it's broken in the latest feed...
diff --git a/noncore/settings/networksettings/wlan/wlanimp2.cpp b/noncore/settings/networksettings/wlan/wlanimp2.cpp
index e7b842b..b988822 100644
--- a/noncore/settings/networksettings/wlan/wlanimp2.cpp
+++ b/noncore/settings/networksettings/wlan/wlanimp2.cpp
@@ -31,25 +31,25 @@ WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, W
interfaces = new Interfaces;
interfaceSetup = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i, interfaces);
tabWidget->insertTab(interfaceSetup, "TCP/IP");
// Check sanity - the existance of the wireless-tools if-pre-up script
QFile file(QString(PREUP));
if (file.exists()) {
qWarning(QString("WLANImp: Unable to open /etc/network/if-pre-up.d/wireless-tools"));
}
}
WLANImp::~WLANImp() {
- delete interfaces;
+//FIXME: delete interfaces;
}
/**
* Change the profile for both wireless settings and network settings.
*/
void WLANImp::setProfile(const QString &profile){
interfaceSetup->setProfile(profile);
parseOpts();
}
void WLANImp::parseOpts() {
bool error;
diff --git a/noncore/settings/networksettings/wlan/wlanmodule.cpp b/noncore/settings/networksettings/wlan/wlanmodule.cpp
index 3c988d5..e6f082c 100644
--- a/noncore/settings/networksettings/wlan/wlanmodule.cpp
+++ b/noncore/settings/networksettings/wlan/wlanmodule.cpp
@@ -1,35 +1,39 @@
#include "wlanmodule.h"
#include "wlanimp.h"
#include "infoimp.h"
#include "wextensions.h"
#include "interfaceinformationimp.h"
#include <qlabel.h>
#include <qprogressbar.h>
#include <qtabwidget.h>
+
+
+
/**
* Constructor, find all of the possible interfaces
*/
WLANModule::WLANModule() : Module() {
}
/**
* Delete any interfaces that we own.
*/
WLANModule::~WLANModule(){
Interface *i;
for ( i=list.first(); i != 0; i=list.next() )
delete i;
+
}
/**
* Change the current profile
*/
void WLANModule::setProfile(const QString &newProfile){
profile = newProfile;
}
/**
* get the icon name for this device.
* @param Interface* can be used in determining the icon.
@@ -64,28 +68,25 @@ QWidget *WLANModule::configure(Interface *i){
return wlanconfig;
}
/**
* Create, and return the Information Module
* @return QWidget* pointer to this modules info.
*/
QWidget *WLANModule::information(Interface *i){
WExtensions we(i->getInterfaceName());
if(!we.doesHaveWirelessExtensions())
return NULL;
- WlanInfoImp *info = new WlanInfoImp(0, i->getInterfaceName(), Qt::WDestructiveClose);
- InterfaceInformationImp *information = new InterfaceInformationImp(info->tabWidget, "InterfaceSetupImp", i);
- info->tabWidget->insertTab(information, "TCP/IP");
- return info;
+ return getInfo( i );
}
/**
* Get all active (up or down) interfaces
* @return QList<Interface> A list of interfaces that exsist that havn't
* been called by isOwner()
*/
QList<Interface> WLANModule::getInterfaces(){
return list;
}
/**
@@ -119,35 +120,68 @@ void WLANModule::receive(const QCString &param, const QByteArray &arg)
qDebug("Erorr less than 2 parameter");
qDebug("RETURNING");
return;
}
QDataStream stream(arg,IO_ReadOnly);
QString interface;
QString action;
stream >> interface;
stream >> action;
qDebug("got interface %s and acion %s", interface.latin1(), action.latin1());
+ // find interfaces
+ Interface *ifa=0;
+ for ( Interface *i=list.first(); i != 0; i=list.next() ){
+ if (i->getInterfaceName() == interface){
+ qDebug("found interface %s",interface.latin1());
+ ifa = i;
+ }
+ }
+
+ if (ifa == 0){
+ qFatal("Did not find %s",interface.latin1());
+ }
if (count == 2){
- // those should call the interface
+ // those should call the interface directly
+ QWidget *info = getInfo( ifa );
+ info->showMaximized();
+
if ( action.contains("start" ) ){
- qDebug("starting %s not yet implemented",interface.latin1());
+ ifa->start();
} else if ( action.contains("restart" ) ){
- qDebug("restarting %s not yet implemented",interface.latin1());
+ ifa->restart();
} else if ( action.contains("stop" ) ){
- qDebug("stopping %s not yet implemented",interface.latin1());
+ ifa->stop();
+ }else if ( action.contains("refresh" ) ){
+ ifa->refresh();
}
}else if (count == 3){
QString value;
stream >> value;
qDebug("setting %s of %s to %s", action.latin1(), interface.latin1(), value.latin1() );
+ if ( action.contains("ESSID") ){
+ qDebug("Setting ESSID not yet impl");
+ }else if (action.contains("Channel")){
+ qDebug("Setting Channel not yet impl");
+ }else
+ qDebug("wlan plugin has no clue");
}
// if (param.contains("QString,QString,QString")) {
// QDataStream stream(arg,IO_ReadOnly);
// QString arg1, arg2, arg3;
// stream >> arg1 >> arg2 >> arg3 ;
// qDebug("interface >%s< setting >%s< value >%s<",arg1.latin1(),arg2.latin1(),arg3.latin1());
// }
}
+QWidget *WLANModule::getInfo( Interface *i)
+{
+ qDebug("WLANModule::getInfo start");
+ WlanInfoImp *info = new WlanInfoImp(0, i->getInterfaceName(), Qt::WDestructiveClose);
+ InterfaceInformationImp *information = new InterfaceInformationImp(info->tabWidget, "InterfaceSetupImp", i);
+ info->tabWidget->insertTab(information, "TCP/IP", 0);
+
+ qDebug("WLANModule::getInfo return");
+ return info;
+}
diff --git a/noncore/settings/networksettings/wlan/wlanmodule.h b/noncore/settings/networksettings/wlan/wlanmodule.h
index a617a90..0963137 100644
--- a/noncore/settings/networksettings/wlan/wlanmodule.h
+++ b/noncore/settings/networksettings/wlan/wlanmodule.h
@@ -1,43 +1,48 @@
#ifndef WLAN_MODULE_H
#define WLAN_MODULE_H
#include "module.h"
+//class WlanInfoImp;
+
class WLANModule : Module{
signals:
void updateInterface(Interface *i);
public:
WLANModule();
~WLANModule();
virtual const QString type() {return "wlan";};
void setProfile(const QString &newProfile);
bool isOwner(Interface *);
QWidget *configure(Interface *i);
QWidget *information(Interface *i);
QList<Interface> getInterfaces();
void possibleNewInterfaces(QMap<QString, QString> &){};
Interface *addNewInterface(const QString &name);
bool remove(Interface* i);
QString getPixmapName(Interface* i);
virtual void receive(const QCString&, const QByteArray&);
private:
+ QWidget *getInfo(Interface*);
+
QList<Interface> list;
QString profile;
-
+ // WlanInfoImp *info;
+ // Interface *iface;
};
extern "C"
{
void* create_plugin() {
return new WLANModule();
}
};
#endif
// wlanmodule.h