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,8 +1,14 @@
+* 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)
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
@@ -35,17 +35,17 @@ WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, W
// 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();
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
@@ -3,29 +3,33 @@
#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;
}
@@ -68,20 +72,17 @@ QWidget *WLANModule::configure(Interface *i){
* 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(){
@@ -123,31 +124,64 @@ void WLANModule::receive(const QCString &param, const QByteArray &arg)
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,13 +1,15 @@
#ifndef WLAN_MODULE_H
#define WLAN_MODULE_H
#include "module.h"
+//class WlanInfoImp;
+
class WLANModule : Module{
signals:
void updateInterface(Interface *i);
public:
WLANModule();
~WLANModule();
@@ -21,19 +23,22 @@ public:
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();
}
};