summaryrefslogtreecommitdiff
path: root/noncore
authortille <tille>2003-06-13 13:32:55 (UTC)
committer tille <tille>2003-06-13 13:32:55 (UTC)
commite5d826221bab71c39dc8fc89d91509dd16bc2a8a (patch) (unidiff)
tree4a0ff06e1e6b43d52fe78a9ab14a7a8f98f41327 /noncore
parentc48af71638614aaff280178693448916e0e98102 (diff)
downloadopie-e5d826221bab71c39dc8fc89d91509dd16bc2a8a.zip
opie-e5d826221bab71c39dc8fc89d91509dd16bc2a8a.tar.gz
opie-e5d826221bab71c39dc8fc89d91509dd16bc2a8a.tar.bz2
qcop channels for start, stop wlan interface works now...
... the qcop handling has to become more general, and this handlet in the interface itself.
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/TODO6
-rw-r--r--noncore/settings/networksettings/wlan/wlanimp2.cpp22
-rw-r--r--noncore/settings/networksettings/wlan/wlanmodule.cpp50
-rw-r--r--noncore/settings/networksettings/wlan/wlanmodule.h7
4 files changed, 65 insertions, 20 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,6 +1,12 @@
1* make dcop handling portable
2* move dcop call for start, stop interfaces from wlan to interface
3
4
5Old TODO of Benmayer:
6
1Types: 7Types:
2-Ethernet Connection (Done) 8-Ethernet Connection (Done)
3-ISDN Connection 9-ISDN Connection
4-Modem COnnection (Started) 10-Modem COnnection (Started)
5-xDSL connection 11-xDSL connection
6-Token Ring Connection 12-Token Ring Connection
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
@@ -11,25 +11,25 @@
11#include <qspinbox.h> 11#include <qspinbox.h>
12#include <qradiobutton.h> 12#include <qradiobutton.h>
13#include <qcheckbox.h> 13#include <qcheckbox.h>
14#include <qtabwidget.h> 14#include <qtabwidget.h>
15#include <qcombobox.h> 15#include <qcombobox.h>
16 16
17#ifdef QWS 17#ifdef QWS
18 #include <opie/oprocess.h> 18 #include <opie/oprocess.h>
19#else 19#else
20 #define OProcess KProcess 20 #define OProcess KProcess
21 #include <kprocess.h> 21 #include <kprocess.h>
22#endif 22#endif
23 23
24#define WIRELESS_OPTS "/etc/pcmcia/wireless.opts" 24#define WIRELESS_OPTS "/etc/pcmcia/wireless.opts"
25#define PREUP "/etc/netwrok/if-pre-up.d/wireless-tools" 25#define PREUP "/etc/netwrok/if-pre-up.d/wireless-tools"
26 26
27/** 27/**
28 * Constructor, read in the wireless.opts file for parsing later. 28 * Constructor, read in the wireless.opts file for parsing later.
29 */ 29 */
30WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, WFlags fl) : WLAN(parent, name, modal, fl), currentProfile("*"), interface(i) { 30WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, WFlags fl) : WLAN(parent, name, modal, fl), currentProfile("*"), interface(i) {
31 interfaces = new Interfaces; 31 interfaces = new Interfaces;
32 interfaceSetup = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i, interfaces); 32 interfaceSetup = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i, interfaces);
33 tabWidget->insertTab(interfaceSetup, "TCP/IP"); 33 tabWidget->insertTab(interfaceSetup, "TCP/IP");
34 34
35 // Check sanity - the existance of the wireless-tools if-pre-up script 35 // Check sanity - the existance of the wireless-tools if-pre-up script
@@ -37,31 +37,31 @@ WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, W
37 if (file.exists()) { 37 if (file.exists()) {
38 qWarning(QString("WLANImp: Unable to open /etc/network/if-pre-up.d/wireless-tools")); 38 qWarning(QString("WLANImp: Unable to open /etc/network/if-pre-up.d/wireless-tools"));
39 } 39 }
40} 40}
41 41
42WLANImp::~WLANImp() { 42WLANImp::~WLANImp() {
43 delete interfaces; 43//FIXME: delete interfaces;
44} 44}
45 45
46/** 46/**
47 * Change the profile for both wireless settings and network settings. 47 * Change the profile for both wireless settings and network settings.
48 */ 48 */
49void WLANImp::setProfile(const QString &profile){ 49void WLANImp::setProfile(const QString &profile){
50 interfaceSetup->setProfile(profile); 50 interfaceSetup->setProfile(profile);
51 parseOpts(); 51 parseOpts();
52} 52}
53 53
54void WLANImp::parseOpts() { 54void WLANImp::parseOpts() {
55 bool error; 55 bool error;
56 QString opt; 56 QString opt;
57 57
58 if (! interfaces->isInterfaceSet()) 58 if (! interfaces->isInterfaceSet())
59 return; 59 return;
60 60
61 61
62 opt = interfaces->getInterfaceOption("wireless_essid", error); 62 opt = interfaces->getInterfaceOption("wireless_essid", error);
63 if(opt == "any" || opt == "off" || opt.isNull()){ 63 if(opt == "any" || opt == "off" || opt.isNull()){
64 essid->setEditText("any"); 64 essid->setEditText("any");
65 } else { 65 } else {
66 essid->setEditText(opt); 66 essid->setEditText(opt);
67 } 67 }
@@ -72,13 +72,13 @@ void WLANImp::parseOpts() {
72 } else if (opt == "Ad-Hoc") { 72 } else if (opt == "Ad-Hoc") {
73 mode->setCurrentItem(2); 73 mode->setCurrentItem(2);
74 } else { 74 } else {
75 // Managed/Infrastructure mode 75 // Managed/Infrastructure mode
76 mode->setCurrentItem(1); 76 mode->setCurrentItem(1);
77 } 77 }
78 78
79 opt = interfaces->getInterfaceOption("wireless_ap", error).simplifyWhiteSpace(); 79 opt = interfaces->getInterfaceOption("wireless_ap", error).simplifyWhiteSpace();
80 if (! opt.isNull()) { 80 if (! opt.isNull()) {
81 specifyAp->setChecked(true); 81 specifyAp->setChecked(true);
82 macEdit->setText(opt); 82 macEdit->setText(opt);
83 } 83 }
84 84
@@ -129,21 +129,21 @@ void WLANImp::parseKeyStr(QString keystr) {
129 case 3: 129 case 3:
130 keyRadio2->setChecked(true); 130 keyRadio2->setChecked(true);
131 break; 131 break;
132 case 4: 132 case 4:
133 keyRadio3->setChecked(true); 133 keyRadio3->setChecked(true);
134 break; 134 break;
135 } 135 }
136 } else { 136 } else {
137 // key 137 // key
138 key = (*it); 138 key = (*it);
139 } 139 }
140 if (! key.isNull()) { 140 if (! key.isNull()) {
141 if (enc == -1) 141 if (enc == -1)
142 enc = 1; 142 enc = 1;
143 QStringList::Iterator next = ++it; 143 QStringList::Iterator next = ++it;
144 if (it == keys.end()) { 144 if (it == keys.end()) {
145 break; 145 break;
146 } 146 }
147 if ((*(next)).left(1) == "[") { 147 if ((*(next)).left(1) == "[") {
148 // set key at index 148 // set key at index
149 index = (*(next)).mid(1, 1).toInt(); 149 index = (*(next)).mid(1, 1).toInt();
@@ -184,24 +184,24 @@ void WLANImp::accept() {
184 (keyRadio1->isChecked() && keyLineEdit1->text().isEmpty()) || 184 (keyRadio1->isChecked() && keyLineEdit1->text().isEmpty()) ||
185 (keyRadio2->isChecked() && keyLineEdit2->text().isEmpty()) || 185 (keyRadio2->isChecked() && keyLineEdit2->text().isEmpty()) ||
186 (keyRadio3->isChecked() && keyLineEdit3->text().isEmpty())) { 186 (keyRadio3->isChecked() && keyLineEdit3->text().isEmpty())) {
187 QMessageBox::information(this, "Error", "Please enter a WEP key.", QMessageBox::Ok); 187 QMessageBox::information(this, "Error", "Please enter a WEP key.", QMessageBox::Ok);
188 return; 188 return;
189 } 189 }
190 } 190 }
191 191
192 if (essid->currentText().isEmpty()) { 192 if (essid->currentText().isEmpty()) {
193 QMessageBox::information(this, "Error", "Please select/enter an ESSID.", QMessageBox::Ok); 193 QMessageBox::information(this, "Error", "Please select/enter an ESSID.", QMessageBox::Ok);
194 return; 194 return;
195 } 195 }
196 196
197 if (specifyAp->isChecked() && macEdit->text().isEmpty()) { 197 if (specifyAp->isChecked() && macEdit->text().isEmpty()) {
198 QMessageBox::information(this, "Error", "Please enter the MAC address of the Access Point.", QMessageBox::Ok); 198 QMessageBox::information(this, "Error", "Please enter the MAC address of the Access Point.", QMessageBox::Ok);
199 return; 199 return;
200 } 200 }
201 201
202 // Try to save the interfaces settings. 202 // Try to save the interfaces settings.
203 writeOpts(); 203 writeOpts();
204 204
205 // Close out the dialog 205 // Close out the dialog
206 QDialog::accept(); 206 QDialog::accept();
207} 207}
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
@@ -5,12 +5,15 @@
5#include "interfaceinformationimp.h" 5#include "interfaceinformationimp.h"
6 6
7#include <qlabel.h> 7#include <qlabel.h>
8#include <qprogressbar.h> 8#include <qprogressbar.h>
9#include <qtabwidget.h> 9#include <qtabwidget.h>
10 10
11
12
13
11/** 14/**
12 * Constructor, find all of the possible interfaces 15 * Constructor, find all of the possible interfaces
13 */ 16 */
14WLANModule::WLANModule() : Module() { 17WLANModule::WLANModule() : Module() {
15} 18}
16 19
@@ -18,12 +21,13 @@ WLANModule::WLANModule() : Module() {
18 * Delete any interfaces that we own. 21 * Delete any interfaces that we own.
19 */ 22 */
20WLANModule::~WLANModule(){ 23WLANModule::~WLANModule(){
21 Interface *i; 24 Interface *i;
22 for ( i=list.first(); i != 0; i=list.next() ) 25 for ( i=list.first(); i != 0; i=list.next() )
23 delete i; 26 delete i;
27
24} 28}
25 29
26/** 30/**
27 * Change the current profile 31 * Change the current profile
28 */ 32 */
29void WLANModule::setProfile(const QString &newProfile){ 33void WLANModule::setProfile(const QString &newProfile){
@@ -70,16 +74,13 @@ QWidget *WLANModule::configure(Interface *i){
70 */ 74 */
71QWidget *WLANModule::information(Interface *i){ 75QWidget *WLANModule::information(Interface *i){
72 WExtensions we(i->getInterfaceName()); 76 WExtensions we(i->getInterfaceName());
73 if(!we.doesHaveWirelessExtensions()) 77 if(!we.doesHaveWirelessExtensions())
74 return NULL; 78 return NULL;
75 79
76 WlanInfoImp *info = new WlanInfoImp(0, i->getInterfaceName(), Qt::WDestructiveClose); 80 return getInfo( i );
77 InterfaceInformationImp *information = new InterfaceInformationImp(info->tabWidget, "InterfaceSetupImp", i);
78 info->tabWidget->insertTab(information, "TCP/IP");
79 return info;
80} 81}
81 82
82/** 83/**
83 * Get all active (up or down) interfaces 84 * Get all active (up or down) interfaces
84 * @return QList<Interface> A list of interfaces that exsist that havn't 85 * @return QList<Interface> A list of interfaces that exsist that havn't
85 * been called by isOwner() 86 * been called by isOwner()
@@ -125,29 +126,62 @@ void WLANModule::receive(const QCString &param, const QByteArray &arg)
125 QString interface; 126 QString interface;
126 QString action; 127 QString action;
127 128
128 stream >> interface; 129 stream >> interface;
129 stream >> action; 130 stream >> action;
130 qDebug("got interface %s and acion %s", interface.latin1(), action.latin1()); 131 qDebug("got interface %s and acion %s", interface.latin1(), action.latin1());
132 // find interfaces
133 Interface *ifa=0;
134 for ( Interface *i=list.first(); i != 0; i=list.next() ){
135 if (i->getInterfaceName() == interface){
136 qDebug("found interface %s",interface.latin1());
137 ifa = i;
138 }
139 }
140
141 if (ifa == 0){
142 qFatal("Did not find %s",interface.latin1());
143 }
131 144
132 if (count == 2){ 145 if (count == 2){
133 // those should call the interface 146 // those should call the interface directly
147 QWidget *info = getInfo( ifa );
148 info->showMaximized();
149
134 if ( action.contains("start" ) ){ 150 if ( action.contains("start" ) ){
135 qDebug("starting %s not yet implemented",interface.latin1()); 151 ifa->start();
136 } else if ( action.contains("restart" ) ){ 152 } else if ( action.contains("restart" ) ){
137 qDebug("restarting %s not yet implemented",interface.latin1()); 153 ifa->restart();
138 } else if ( action.contains("stop" ) ){ 154 } else if ( action.contains("stop" ) ){
139 qDebug("stopping %s not yet implemented",interface.latin1()); 155 ifa->stop();
156 }else if ( action.contains("refresh" ) ){
157 ifa->refresh();
140 } 158 }
141 }else if (count == 3){ 159 }else if (count == 3){
142 QString value; 160 QString value;
143 stream >> value; 161 stream >> value;
144 qDebug("setting %s of %s to %s", action.latin1(), interface.latin1(), value.latin1() ); 162 qDebug("setting %s of %s to %s", action.latin1(), interface.latin1(), value.latin1() );
163 if ( action.contains("ESSID") ){
164 qDebug("Setting ESSID not yet impl");
165 }else if (action.contains("Channel")){
166 qDebug("Setting Channel not yet impl");
167 }else
168 qDebug("wlan plugin has no clue");
145 } 169 }
146 // if (param.contains("QString,QString,QString")) { 170 // if (param.contains("QString,QString,QString")) {
147// QDataStream stream(arg,IO_ReadOnly); 171// QDataStream stream(arg,IO_ReadOnly);
148// QString arg1, arg2, arg3; 172// QString arg1, arg2, arg3;
149// stream >> arg1 >> arg2 >> arg3 ; 173// stream >> arg1 >> arg2 >> arg3 ;
150// qDebug("interface >%s< setting >%s< value >%s<",arg1.latin1(),arg2.latin1(),arg3.latin1()); 174// qDebug("interface >%s< setting >%s< value >%s<",arg1.latin1(),arg2.latin1(),arg3.latin1());
151// } 175// }
152} 176}
153 177
178QWidget *WLANModule::getInfo( Interface *i)
179{
180 qDebug("WLANModule::getInfo start");
181 WlanInfoImp *info = new WlanInfoImp(0, i->getInterfaceName(), Qt::WDestructiveClose);
182 InterfaceInformationImp *information = new InterfaceInformationImp(info->tabWidget, "InterfaceSetupImp", i);
183 info->tabWidget->insertTab(information, "TCP/IP", 0);
184
185 qDebug("WLANModule::getInfo return");
186 return info;
187}
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,11 +1,13 @@
1#ifndef WLAN_MODULE_H 1#ifndef WLAN_MODULE_H
2#define WLAN_MODULE_H 2#define WLAN_MODULE_H
3 3
4#include "module.h" 4#include "module.h"
5 5
6//class WlanInfoImp;
7
6class WLANModule : Module{ 8class WLANModule : Module{
7 9
8signals: 10signals:
9 void updateInterface(Interface *i); 11 void updateInterface(Interface *i);
10 12
11public: 13public:
@@ -23,15 +25,18 @@ public:
23 Interface *addNewInterface(const QString &name); 25 Interface *addNewInterface(const QString &name);
24 bool remove(Interface* i); 26 bool remove(Interface* i);
25 QString getPixmapName(Interface* i); 27 QString getPixmapName(Interface* i);
26 virtual void receive(const QCString&, const QByteArray&); 28 virtual void receive(const QCString&, const QByteArray&);
27 29
28private: 30private:
31 QWidget *getInfo(Interface*);
32
29 QList<Interface> list; 33 QList<Interface> list;
30 QString profile; 34 QString profile;
31 35 // WlanInfoImp *info;
36 // Interface *iface;
32}; 37};
33 38
34extern "C" 39extern "C"
35{ 40{
36 void* create_plugin() { 41 void* create_plugin() {
37 return new WLANModule(); 42 return new WLANModule();