-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 | |||
@@ -11,6 +11,7 @@ | |||
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> |
@@ -61,7 +62,7 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par | |||
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 |
@@ -119,6 +120,7 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par | |||
119 | } | 120 | } |
120 | file.close(); | 121 | file.close(); |
121 | } | 122 | } |
123 | makeChannel(); | ||
122 | } | 124 | } |
123 | 125 | ||
124 | /** | 126 | /** |
@@ -193,7 +195,8 @@ void MainWindowImp::getAllInterfaces(){ | |||
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()); |
@@ -624,3 +627,40 @@ void MainWindowImp::changeProfile(){ | |||
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 | |||
@@ -9,6 +9,7 @@ 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 |
@@ -25,6 +26,8 @@ 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 | ||
@@ -40,7 +43,10 @@ private slots: | |||
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, |
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 | |||
@@ -18,10 +18,17 @@ class Module : QObject{ | |||
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. |
@@ -82,6 +89,11 @@ public: | |||
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 |
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,7 +1,8 @@ | |||
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/ |
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 | |||
@@ -12,6 +12,7 @@ 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); |
@@ -21,6 +22,7 @@ public: | |||
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; |
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 | |||
@@ -109,5 +109,45 @@ bool WLANModule::remove(Interface*){ | |||
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 | |||
@@ -12,6 +12,8 @@ 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); |
@@ -21,6 +23,7 @@ public: | |||
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; |