author | tille <tille> | 2003-06-12 15:04:14 (UTC) |
---|---|---|
committer | tille <tille> | 2003-06-12 15:04:14 (UTC) |
commit | f0f9cf3fa486a577770e3c0e89280c66ea331e73 (patch) (unidiff) | |
tree | cdafae987efebf441b70a527a6e832333c1410e3 /noncore/settings | |
parent | 65327026c2f26e28c76bf234f8b7943612b49b05 (diff) | |
download | opie-f0f9cf3fa486a577770e3c0e89280c66ea331e73.zip opie-f0f9cf3fa486a577770e3c0e89280c66ea331e73.tar.gz opie-f0f9cf3fa486a577770e3c0e89280c66ea331e73.tar.bz2 |
1st version of qcop call in oder to let wellenreiter copy the APs it found...
... and more later.
-rw-r--r-- | noncore/settings/networksettings/mainwindowimp.cpp | 44 | ||||
-rw-r--r-- | noncore/settings/networksettings/mainwindowimp.h | 6 | ||||
-rw-r--r-- | noncore/settings/networksettings/module.h | 12 | ||||
-rw-r--r-- | noncore/settings/networksettings/networksettings.pro | 5 | ||||
-rw-r--r-- | noncore/settings/networksettings/ppp/pppmodule.h | 2 | ||||
-rw-r--r-- | noncore/settings/networksettings/wlan/wlanmodule.cpp | 42 | ||||
-rw-r--r-- | noncore/settings/networksettings/wlan/wlanmodule.h | 3 |
7 files changed, 109 insertions, 5 deletions
diff --git a/noncore/settings/networksettings/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindowimp.cpp index 4119490..0ef1e68 100644 --- a/noncore/settings/networksettings/mainwindowimp.cpp +++ b/noncore/settings/networksettings/mainwindowimp.cpp | |||
@@ -8,12 +8,13 @@ | |||
8 | #include <qpushbutton.h> | 8 | #include <qpushbutton.h> |
9 | #include <qlistbox.h> | 9 | #include <qlistbox.h> |
10 | #include <qlineedit.h> | 10 | #include <qlineedit.h> |
11 | #include <qlistview.h> | 11 | #include <qlistview.h> |
12 | #include <qheader.h> | 12 | #include <qheader.h> |
13 | #include <qlabel.h> | 13 | #include <qlabel.h> |
14 | #include <qpe/qcopenvelope_qws.h> | ||
14 | #include <qtabwidget.h> // in order to disable the profiles tab | 15 | #include <qtabwidget.h> // in order to disable the profiles tab |
15 | 16 | ||
16 | #include <qmessagebox.h> | 17 | #include <qmessagebox.h> |
17 | 18 | ||
18 | #ifdef QWS | 19 | #ifdef QWS |
19 | #include <qpe/config.h> | 20 | #include <qpe/config.h> |
@@ -58,13 +59,13 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par | |||
58 | connect(removeProfileButton, SIGNAL(clicked()), this, SLOT(removeProfile())); | 59 | connect(removeProfileButton, SIGNAL(clicked()), this, SLOT(removeProfile())); |
59 | connect(setCurrentProfileButton, SIGNAL(clicked()), this, SLOT(changeProfile())); | 60 | connect(setCurrentProfileButton, SIGNAL(clicked()), this, SLOT(changeProfile())); |
60 | 61 | ||
61 | connect(newProfile, SIGNAL(textChanged(const QString&)), this, SLOT(newProfileChanged(const QString&))); | 62 | connect(newProfile, SIGNAL(textChanged(const QString&)), this, SLOT(newProfileChanged(const QString&))); |
62 | 63 | ||
63 | //FIXME: disable profiles for the moment: | 64 | //FIXME: disable profiles for the moment: |
64 | tabWidget->setTabEnabled( tab, false ); | 65 | // tabWidget->setTabEnabled( tab, false ); |
65 | 66 | ||
66 | // Load connections. | 67 | // Load connections. |
67 | // /usr/local/kde/lib/libinterfaces.la | 68 | // /usr/local/kde/lib/libinterfaces.la |
68 | #ifdef QWS | 69 | #ifdef QWS |
69 | loadModules(QPEApplication::qpeDir() + "/plugins/networksettings"); | 70 | loadModules(QPEApplication::qpeDir() + "/plugins/networksettings"); |
70 | #else | 71 | #else |
@@ -116,12 +117,13 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par | |||
116 | currentProfileLabel->setText(line); | 117 | currentProfileLabel->setText(line); |
117 | break; | 118 | break; |
118 | } | 119 | } |
119 | } | 120 | } |
120 | file.close(); | 121 | file.close(); |
121 | } | 122 | } |
123 | makeChannel(); | ||
122 | } | 124 | } |
123 | 125 | ||
124 | /** | 126 | /** |
125 | * Deconstructor. Save profiles. Delete loaded libraries. | 127 | * Deconstructor. Save profiles. Delete loaded libraries. |
126 | */ | 128 | */ |
127 | MainWindowImp::~MainWindowImp(){ | 129 | MainWindowImp::~MainWindowImp(){ |
@@ -190,13 +192,14 @@ void MainWindowImp::getAllInterfaces(){ | |||
190 | ifaces += line.left(loc); | 192 | ifaces += line.left(loc); |
191 | } | 193 | } |
192 | } | 194 | } |
193 | } | 195 | } |
194 | 196 | ||
195 | for (QStringList::Iterator it = ifaces.begin(); it != ifaces.end(); ++it) { | 197 | for (QStringList::Iterator it = ifaces.begin(); it != ifaces.end(); ++it) { |
196 | int flags = 0, family; | 198 | int flags = 0; |
199 | // int family; | ||
197 | i = NULL; | 200 | i = NULL; |
198 | 201 | ||
199 | strcpy(ifr.ifr_name, (*it).latin1()); | 202 | strcpy(ifr.ifr_name, (*it).latin1()); |
200 | 203 | ||
201 | struct ifreq ifcopy; | 204 | struct ifreq ifcopy; |
202 | ifcopy = ifr; | 205 | ifcopy = ifr; |
@@ -621,6 +624,43 @@ void MainWindowImp::changeProfile(){ | |||
621 | } | 624 | } |
622 | } | 625 | } |
623 | } | 626 | } |
624 | // TODO change the profile in the modules | 627 | // TODO change the profile in the modules |
625 | } | 628 | } |
626 | 629 | ||
630 | |||
631 | void MainWindowImp::makeChannel() | ||
632 | { | ||
633 | channel = new QCopChannel( "QPE/Application/networksettings", this ); | ||
634 | connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), | ||
635 | this, SLOT(receive(const QCString&, const QByteArray&)) ); | ||
636 | } | ||
637 | |||
638 | void MainWindowImp::receive(const QCString &msg, const QByteArray &arg) | ||
639 | { | ||
640 | bool found = false; | ||
641 | qDebug("MainWindowImp::receive QCop msg >"+msg+"<"); | ||
642 | |||
643 | QString dest = msg.left(msg.find("(")); | ||
644 | QCString param = msg.right(msg.length() - msg.find("(") - 1); | ||
645 | param = param.left( param.length() - 1 ); | ||
646 | qDebug("dest >%s< param >"+param+"<",dest.latin1()); | ||
647 | |||
648 | // if (param.contains("QString,QString,QString")) { | ||
649 | // QDataStream stream(arg,IO_ReadOnly); | ||
650 | // QString arg1, arg2, arg3; | ||
651 | // stream >> arg1 >> arg2 >> arg3 ; | ||
652 | // qDebug("args: >%s< >%s< >%s<",arg1.latin1(),arg2.latin1(),arg3.latin1()); | ||
653 | // } | ||
654 | |||
655 | QMap<Module*, QLibrary*>::Iterator it; | ||
656 | for( it = libraries.begin(); it != libraries.end(); ++it ){ | ||
657 | qDebug("plugin >%s<", it.key()->type().latin1() ); | ||
658 | if(it.key()->type() == dest){ | ||
659 | it.key()->receive( param, arg ); | ||
660 | found = true; | ||
661 | } | ||
662 | } | ||
663 | |||
664 | |||
665 | if (!found) qDebug("Huh what do ya want"); | ||
666 | } | ||
diff --git a/noncore/settings/networksettings/mainwindowimp.h b/noncore/settings/networksettings/mainwindowimp.h index c045fe6..a553f75 100644 --- a/noncore/settings/networksettings/mainwindowimp.h +++ b/noncore/settings/networksettings/mainwindowimp.h | |||
@@ -6,12 +6,13 @@ | |||
6 | #include <qstringlist.h> | 6 | #include <qstringlist.h> |
7 | 7 | ||
8 | class Module; | 8 | class Module; |
9 | class Interface; | 9 | class Interface; |
10 | class QLibrary; | 10 | class QLibrary; |
11 | class KProcess; | 11 | class KProcess; |
12 | class QCopChannel; | ||
12 | #ifdef QWS | 13 | #ifdef QWS |
13 | class QLibrary; | 14 | class QLibrary; |
14 | #else | 15 | #else |
15 | class KLibrary; | 16 | class KLibrary; |
16 | class KLibLoader; | 17 | class KLibLoader; |
17 | #define QLibrary KLibrary | 18 | #define QLibrary KLibrary |
@@ -22,12 +23,14 @@ class MainWindowImp : public MainWindow { | |||
22 | Q_OBJECT | 23 | Q_OBJECT |
23 | 24 | ||
24 | public: | 25 | public: |
25 | MainWindowImp(QWidget *parent=0, const char *name=0); | 26 | MainWindowImp(QWidget *parent=0, const char *name=0); |
26 | ~MainWindowImp(); | 27 | ~MainWindowImp(); |
27 | 28 | ||
29 | QCopChannel *channel; | ||
30 | |||
28 | private slots: | 31 | private slots: |
29 | void getAllInterfaces(); | 32 | void getAllInterfaces(); |
30 | 33 | ||
31 | void addClicked(); | 34 | void addClicked(); |
32 | void removeClicked(); | 35 | void removeClicked(); |
33 | void configureClicked(); | 36 | void configureClicked(); |
@@ -37,13 +40,16 @@ private slots: | |||
37 | void removeProfile(); | 40 | void removeProfile(); |
38 | void changeProfile(); | 41 | void changeProfile(); |
39 | 42 | ||
40 | void updateInterface(Interface *i); | 43 | void updateInterface(Interface *i); |
41 | void newProfileChanged(const QString& newText); | 44 | void newProfileChanged(const QString& newText); |
42 | 45 | ||
46 | void receive (const QCString &, const QByteArray &); | ||
47 | |||
43 | private: | 48 | private: |
49 | void makeChannel(); | ||
44 | void loadModules(const QString &path); | 50 | void loadModules(const QString &path); |
45 | 51 | ||
46 | Module* loadPlugin(const QString &pluginFileName, | 52 | Module* loadPlugin(const QString &pluginFileName, |
47 | const QString &resolveString = "create_plugin"); | 53 | const QString &resolveString = "create_plugin"); |
48 | 54 | ||
49 | // For our local list of names | 55 | // For our local list of names |
diff --git a/noncore/settings/networksettings/module.h b/noncore/settings/networksettings/module.h index 46a3c77..db74394 100644 --- a/noncore/settings/networksettings/module.h +++ b/noncore/settings/networksettings/module.h | |||
@@ -15,16 +15,23 @@ class QTabWidget; | |||
15 | 15 | ||
16 | class Module : QObject{ | 16 | class Module : QObject{ |
17 | 17 | ||
18 | signals: | 18 | signals: |
19 | void updateInterface(Interface *i); | 19 | void updateInterface(Interface *i); |
20 | 20 | ||
21 | |||
21 | public: | 22 | public: |
22 | Module(){}; | 23 | Module(){}; |
23 | 24 | ||
24 | /** | 25 | /** |
26 | * The type of the plugin | ||
27 | * and the name of the dcop call | ||
28 | */ | ||
29 | virtual const QString type() = 0; | ||
30 | |||
31 | /** | ||
25 | * The current profile has been changed and the module should do any | 32 | * The current profile has been changed and the module should do any |
26 | * neccesary changes also. | 33 | * neccesary changes also. |
27 | * @param newProfile what the profile should be changed to. | 34 | * @param newProfile what the profile should be changed to. |
28 | */ | 35 | */ |
29 | virtual void setProfile(const QString &newProfile) = 0; | 36 | virtual void setProfile(const QString &newProfile) = 0; |
30 | 37 | ||
@@ -79,12 +86,17 @@ public: | |||
79 | /** | 86 | /** |
80 | * Attempts to remove the interface, doesn't delete i | 87 | * Attempts to remove the interface, doesn't delete i |
81 | * @return bool true if successfull, false otherwise. | 88 | * @return bool true if successfull, false otherwise. |
82 | */ | 89 | */ |
83 | virtual bool remove(Interface* i) = 0; | 90 | virtual bool remove(Interface* i) = 0; |
84 | 91 | ||
92 | /** | ||
93 | * get dcop calls | ||
94 | */ | ||
95 | virtual void receive(const QCString &msg, const QByteArray &arg) = 0; | ||
96 | |||
85 | }; | 97 | }; |
86 | 98 | ||
87 | #endif | 99 | #endif |
88 | 100 | ||
89 | // module.h | 101 | // module.h |
90 | 102 | ||
diff --git a/noncore/settings/networksettings/networksettings.pro b/noncore/settings/networksettings/networksettings.pro index 875c68e..cdd133a 100644 --- a/noncore/settings/networksettings/networksettings.pro +++ b/noncore/settings/networksettings/networksettings.pro | |||
@@ -1,10 +1,11 @@ | |||
1 | DESTDIR = $(OPIEDIR)/bin | 1 | DESTDIR = $(OPIEDIR)/bin |
2 | TEMPLATE = app | 2 | TEMPLATE = app |
3 | #CONFIG = qt warn_on debug | 3 | # |
4 | CONFIG = qt warn_on release | 4 | CONFIG = qt warn_on debug |
5 | #CONFIG = qt warn_on release | ||
5 | HEADERS = mainwindowimp.h addconnectionimp.h defaultmodule.h module.h | 6 | HEADERS = mainwindowimp.h addconnectionimp.h defaultmodule.h module.h |
6 | SOURCES = main.cpp mainwindowimp.cpp addconnectionimp.cpp | 7 | SOURCES = main.cpp mainwindowimp.cpp addconnectionimp.cpp |
7 | INCLUDEPATH += $(OPIEDIR)/include interfaces/ | 8 | INCLUDEPATH += $(OPIEDIR)/include interfaces/ |
8 | DEPENDPATH += $(OPIEDIR)/include interfaces/ wlan/ | 9 | DEPENDPATH += $(OPIEDIR)/include interfaces/ wlan/ |
9 | LIBS += -lqpe -L$(OPIEDIR)/plugins/networksettings -Linterfaces/ -linterfaces -lopie | 10 | LIBS += -lqpe -L$(OPIEDIR)/plugins/networksettings -Linterfaces/ -linterfaces -lopie |
10 | INTERFACES = mainwindow.ui addconnection.ui | 11 | INTERFACES = mainwindow.ui addconnection.ui |
diff --git a/noncore/settings/networksettings/ppp/pppmodule.h b/noncore/settings/networksettings/ppp/pppmodule.h index 6464f87..de649e4 100644 --- a/noncore/settings/networksettings/ppp/pppmodule.h +++ b/noncore/settings/networksettings/ppp/pppmodule.h | |||
@@ -9,21 +9,23 @@ signals: | |||
9 | void updateInterface(Interface *i); | 9 | void updateInterface(Interface *i); |
10 | 10 | ||
11 | public: | 11 | public: |
12 | PPPModule(); | 12 | PPPModule(); |
13 | ~PPPModule(); | 13 | ~PPPModule(); |
14 | 14 | ||
15 | virtual const QString type() {return "ppp";}; | ||
15 | virtual void setProfile(const QString &newProfile); | 16 | virtual void setProfile(const QString &newProfile); |
16 | virtual bool isOwner(Interface *); | 17 | virtual bool isOwner(Interface *); |
17 | virtual QWidget *configure(Interface *i); | 18 | virtual QWidget *configure(Interface *i); |
18 | virtual QWidget *information(Interface *i); | 19 | virtual QWidget *information(Interface *i); |
19 | virtual QList<Interface> getInterfaces(); | 20 | virtual QList<Interface> getInterfaces(); |
20 | virtual void possibleNewInterfaces(QMap<QString, QString> &); | 21 | virtual void possibleNewInterfaces(QMap<QString, QString> &); |
21 | virtual Interface *addNewInterface(const QString &name); | 22 | virtual Interface *addNewInterface(const QString &name); |
22 | virtual bool remove(Interface* i); | 23 | virtual bool remove(Interface* i); |
23 | virtual QString getPixmapName(Interface* i); | 24 | virtual QString getPixmapName(Interface* i); |
25 | virtual void receive(const QCString &msg, const QByteArray &arg) {}; | ||
24 | 26 | ||
25 | private: | 27 | private: |
26 | QList<Interface> list; | 28 | QList<Interface> list; |
27 | QString profile; | 29 | QString profile; |
28 | 30 | ||
29 | }; | 31 | }; |
diff --git a/noncore/settings/networksettings/wlan/wlanmodule.cpp b/noncore/settings/networksettings/wlan/wlanmodule.cpp index 3979e60..3c988d5 100644 --- a/noncore/settings/networksettings/wlan/wlanmodule.cpp +++ b/noncore/settings/networksettings/wlan/wlanmodule.cpp | |||
@@ -106,8 +106,48 @@ Interface *WLANModule::addNewInterface(const QString &){ | |||
106 | */ | 106 | */ |
107 | bool WLANModule::remove(Interface*){ | 107 | bool WLANModule::remove(Interface*){ |
108 | // Can't remove a hardware device, you can stop it though. | 108 | // Can't remove a hardware device, you can stop it though. |
109 | return false; | 109 | return false; |
110 | } | 110 | } |
111 | 111 | ||
112 | // wlanmodule.cpp | 112 | void WLANModule::receive(const QCString ¶m, const QByteArray &arg) |
113 | { | ||
114 | qDebug("WLANModule::receive "+param); | ||
115 | QStringList params = QStringList::split(",",param); | ||
116 | int count = params.count(); | ||
117 | qDebug("got %i params", count ); | ||
118 | if (count < 2){ | ||
119 | qDebug("Erorr less than 2 parameter"); | ||
120 | qDebug("RETURNING"); | ||
121 | return; | ||
122 | } | ||
123 | |||
124 | QDataStream stream(arg,IO_ReadOnly); | ||
125 | QString interface; | ||
126 | QString action; | ||
127 | |||
128 | stream >> interface; | ||
129 | stream >> action; | ||
130 | qDebug("got interface %s and acion %s", interface.latin1(), action.latin1()); | ||
131 | |||
132 | if (count == 2){ | ||
133 | // those should call the interface | ||
134 | if ( action.contains("start" ) ){ | ||
135 | qDebug("starting %s not yet implemented",interface.latin1()); | ||
136 | } else if ( action.contains("restart" ) ){ | ||
137 | qDebug("restarting %s not yet implemented",interface.latin1()); | ||
138 | } else if ( action.contains("stop" ) ){ | ||
139 | qDebug("stopping %s not yet implemented",interface.latin1()); | ||
140 | } | ||
141 | }else if (count == 3){ | ||
142 | QString value; | ||
143 | stream >> value; | ||
144 | qDebug("setting %s of %s to %s", action.latin1(), interface.latin1(), value.latin1() ); | ||
145 | } | ||
146 | // if (param.contains("QString,QString,QString")) { | ||
147 | // QDataStream stream(arg,IO_ReadOnly); | ||
148 | // QString arg1, arg2, arg3; | ||
149 | // stream >> arg1 >> arg2 >> arg3 ; | ||
150 | // qDebug("interface >%s< setting >%s< value >%s<",arg1.latin1(),arg2.latin1(),arg3.latin1()); | ||
151 | // } | ||
152 | } | ||
113 | 153 | ||
diff --git a/noncore/settings/networksettings/wlan/wlanmodule.h b/noncore/settings/networksettings/wlan/wlanmodule.h index 3a54de6..a617a90 100644 --- a/noncore/settings/networksettings/wlan/wlanmodule.h +++ b/noncore/settings/networksettings/wlan/wlanmodule.h | |||
@@ -9,21 +9,24 @@ signals: | |||
9 | void updateInterface(Interface *i); | 9 | void updateInterface(Interface *i); |
10 | 10 | ||
11 | public: | 11 | public: |
12 | WLANModule(); | 12 | WLANModule(); |
13 | ~WLANModule(); | 13 | ~WLANModule(); |
14 | 14 | ||
15 | |||
16 | virtual const QString type() {return "wlan";}; | ||
15 | void setProfile(const QString &newProfile); | 17 | void setProfile(const QString &newProfile); |
16 | bool isOwner(Interface *); | 18 | bool isOwner(Interface *); |
17 | QWidget *configure(Interface *i); | 19 | QWidget *configure(Interface *i); |
18 | QWidget *information(Interface *i); | 20 | QWidget *information(Interface *i); |
19 | QList<Interface> getInterfaces(); | 21 | QList<Interface> getInterfaces(); |
20 | void possibleNewInterfaces(QMap<QString, QString> &){}; | 22 | void possibleNewInterfaces(QMap<QString, QString> &){}; |
21 | Interface *addNewInterface(const QString &name); | 23 | Interface *addNewInterface(const QString &name); |
22 | bool remove(Interface* i); | 24 | bool remove(Interface* i); |
23 | QString getPixmapName(Interface* i); | 25 | QString getPixmapName(Interface* i); |
26 | virtual void receive(const QCString&, const QByteArray&); | ||
24 | 27 | ||
25 | private: | 28 | private: |
26 | QList<Interface> list; | 29 | QList<Interface> list; |
27 | QString profile; | 30 | QString profile; |
28 | 31 | ||
29 | }; | 32 | }; |