summaryrefslogtreecommitdiff
path: root/noncore/settings
authortille <tille>2003-06-13 13:32:55 (UTC)
committer tille <tille>2003-06-13 13:32:55 (UTC)
commite5d826221bab71c39dc8fc89d91509dd16bc2a8a (patch) (unidiff)
tree4a0ff06e1e6b43d52fe78a9ab14a7a8f98f41327 /noncore/settings
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/settings') (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();