-rw-r--r-- | noncore/settings/networksettings/mainwindowimp.cpp | 44 | ||||
-rw-r--r-- | noncore/settings/networksettings/mainwindowimp.h | 140 | ||||
-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 | 72 | ||||
-rw-r--r-- | noncore/settings/networksettings/wlan/wlanmodule.h | 3 |
7 files changed, 191 insertions, 87 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 | |||
@@ -12,4 +12,5 @@ | |||
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 | ||
@@ -62,5 +63,5 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par | |||
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. |
@@ -120,4 +121,5 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par | |||
120 | file.close(); | 121 | file.close(); |
121 | } | 122 | } |
123 | makeChannel(); | ||
122 | } | 124 | } |
123 | 125 | ||
@@ -194,5 +196,6 @@ void MainWindowImp::getAllInterfaces(){ | |||
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 | ||
@@ -625,2 +628,39 @@ void MainWindowImp::changeProfile(){ | |||
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 | |||
@@ -1,67 +1,73 @@ | |||
1 | #ifndef MAINWINOWIMP_H | 1 | #ifndef MAINWINOWIMP_H |
2 | #define MAINWINOWIMP_H | 2 | #define MAINWINOWIMP_H |
3 | 3 | ||
4 | #include "mainwindow.h" | 4 | #include "mainwindow.h" |
5 | #include <qmap.h> | 5 | #include <qmap.h> |
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 | #ifdef QWS | 12 | class QCopChannel; |
13 | class QLibrary; | 13 | #ifdef QWS |
14 | #else | 14 | class QLibrary; |
15 | class KLibrary; | 15 | #else |
16 | class KLibLoader; | 16 | class KLibrary; |
17 | #define QLibrary KLibrary | 17 | class KLibLoader; |
18 | #endif | 18 | #define QLibrary KLibrary |
19 | 19 | #endif | |
20 | 20 | ||
21 | class MainWindowImp : public MainWindow { | 21 | |
22 | Q_OBJECT | 22 | class MainWindowImp : public MainWindow { |
23 | 23 | Q_OBJECT | |
24 | public: | 24 | |
25 | MainWindowImp(QWidget *parent=0, const char *name=0); | 25 | public: |
26 | ~MainWindowImp(); | 26 | MainWindowImp(QWidget *parent=0, const char *name=0); |
27 | 27 | ~MainWindowImp(); | |
28 | private slots: | 28 | |
29 | void getAllInterfaces(); | 29 | QCopChannel *channel; |
30 | 30 | ||
31 | void addClicked(); | 31 | private slots: |
32 | void removeClicked(); | 32 | void getAllInterfaces(); |
33 | void configureClicked(); | 33 | |
34 | void informationClicked(); | 34 | void addClicked(); |
35 | 35 | void removeClicked(); | |
36 | void addProfile(); | 36 | void configureClicked(); |
37 | void removeProfile(); | 37 | void informationClicked(); |
38 | void changeProfile(); | 38 | |
39 | 39 | void addProfile(); | |
40 | void updateInterface(Interface *i); | 40 | void removeProfile(); |
41 | void newProfileChanged(const QString& newText); | 41 | void changeProfile(); |
42 | 42 | ||
43 | private: | 43 | void updateInterface(Interface *i); |
44 | void loadModules(const QString &path); | 44 | void newProfileChanged(const QString& newText); |
45 | 45 | ||
46 | Module* loadPlugin(const QString &pluginFileName, | 46 | void receive (const QCString &, const QByteArray &); |
47 | const QString &resolveString = "create_plugin"); | 47 | |
48 | 48 | private: | |
49 | // For our local list of names | 49 | void makeChannel(); |
50 | QMap<QString, Interface*> interfaceNames; | 50 | void loadModules(const QString &path); |
51 | 51 | ||
52 | QMap<Module*, QLibrary*> libraries; | 52 | Module* loadPlugin(const QString &pluginFileName, |
53 | QMap<Interface*, QListViewItem*> items; | 53 | const QString &resolveString = "create_plugin"); |
54 | QMap<QListViewItem*, Interface*> interfaceItems; | 54 | |
55 | 55 | // For our local list of names | |
56 | QMap<KProcess*, QString> threads; | 56 | QMap<QString, Interface*> interfaceNames; |
57 | QStringList profiles; | 57 | |
58 | 58 | QMap<Module*, QLibrary*> libraries; | |
59 | bool advancedUserMode; | 59 | QMap<Interface*, QListViewItem*> items; |
60 | QString scheme; | 60 | QMap<QListViewItem*, Interface*> interfaceItems; |
61 | #ifndef QWS | 61 | |
62 | KLibLoader *loader; | 62 | QMap<KProcess*, QString> threads; |
63 | #endif | 63 | QStringList profiles; |
64 | }; | 64 | |
65 | 65 | bool advancedUserMode; | |
66 | #endif // MAINWINOWIMP_H | 66 | QString scheme; |
67 | 67 | #ifndef QWS | |
68 | KLibLoader *loader; | ||
69 | #endif | ||
70 | }; | ||
71 | |||
72 | #endif // MAINWINOWIMP_H | ||
73 | |||
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,4 +18,5 @@ class Module : QObject{ | |||
18 | signals: | 18 | signals: |
19 | void updateInterface(Interface *i); | 19 | void updateInterface(Interface *i); |
20 | |||
20 | 21 | ||
21 | public: | 22 | public: |
@@ -23,4 +24,10 @@ public: | |||
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. |
@@ -83,4 +90,9 @@ public: | |||
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 | ||
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,6 +1,7 @@ | |||
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 |
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 | |||
@@ -13,4 +13,5 @@ public: | |||
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 *); |
@@ -22,4 +23,5 @@ public: | |||
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: |
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 | |||
@@ -11,5 +11,5 @@ | |||
11 | /** | 11 | /** |
12 | * Constructor, find all of the possible interfaces | 12 | * Constructor, find all of the possible interfaces |
13 | */ | 13 | */ |
14 | WLANModule::WLANModule() : Module() { | 14 | WLANModule::WLANModule() : Module() { |
15 | } | 15 | } |
@@ -17,5 +17,5 @@ WLANModule::WLANModule() : Module() { | |||
17 | /** | 17 | /** |
18 | * Delete any interfaces that we own. | 18 | * Delete any interfaces that we own. |
19 | */ | 19 | */ |
20 | WLANModule::~WLANModule(){ | 20 | WLANModule::~WLANModule(){ |
21 | Interface *i; | 21 | Interface *i; |
@@ -26,5 +26,5 @@ WLANModule::~WLANModule(){ | |||
26 | /** | 26 | /** |
27 | * Change the current profile | 27 | * Change the current profile |
28 | */ | 28 | */ |
29 | void WLANModule::setProfile(const QString &newProfile){ | 29 | void WLANModule::setProfile(const QString &newProfile){ |
30 | profile = newProfile; | 30 | profile = newProfile; |
@@ -34,6 +34,6 @@ void WLANModule::setProfile(const QString &newProfile){ | |||
34 | * get the icon name for this device. | 34 | * get the icon name for this device. |
35 | * @param Interface* can be used in determining the icon. | 35 | * @param Interface* can be used in determining the icon. |
36 | * @return QString the icon name (minus .png, .gif etc) | 36 | * @return QString the icon name (minus .png, .gif etc) |
37 | */ | 37 | */ |
38 | QString WLANModule::getPixmapName(Interface* ){ | 38 | QString WLANModule::getPixmapName(Interface* ){ |
39 | return "wlan"; | 39 | return "wlan"; |
@@ -44,10 +44,10 @@ QString WLANModule::getPixmapName(Interface* ){ | |||
44 | * @param Interface* interface to check against | 44 | * @param Interface* interface to check against |
45 | * @return bool true if i is owned by this module, false otherwise. | 45 | * @return bool true if i is owned by this module, false otherwise. |
46 | */ | 46 | */ |
47 | bool WLANModule::isOwner(Interface *i){ | 47 | bool WLANModule::isOwner(Interface *i){ |
48 | WExtensions we(i->getInterfaceName()); | 48 | WExtensions we(i->getInterfaceName()); |
49 | if(!we.doesHaveWirelessExtensions()) | 49 | if(!we.doesHaveWirelessExtensions()) |
50 | return false; | 50 | return false; |
51 | 51 | ||
52 | i->setHardwareName("802.11b"); | 52 | i->setHardwareName("802.11b"); |
53 | list.append(i); | 53 | list.append(i); |
@@ -58,5 +58,5 @@ bool WLANModule::isOwner(Interface *i){ | |||
58 | * Create, and return the WLANConfigure Module | 58 | * Create, and return the WLANConfigure Module |
59 | * @return QWidget* pointer to this modules configure. | 59 | * @return QWidget* pointer to this modules configure. |
60 | */ | 60 | */ |
61 | QWidget *WLANModule::configure(Interface *i){ | 61 | QWidget *WLANModule::configure(Interface *i){ |
62 | WLANImp *wlanconfig = new WLANImp(0, "WlanConfig", i, false, Qt::WDestructiveClose); | 62 | WLANImp *wlanconfig = new WLANImp(0, "WlanConfig", i, false, Qt::WDestructiveClose); |
@@ -68,10 +68,10 @@ QWidget *WLANModule::configure(Interface *i){ | |||
68 | * Create, and return the Information Module | 68 | * Create, and return the Information Module |
69 | * @return QWidget* pointer to this modules info. | 69 | * @return QWidget* pointer to this modules info. |
70 | */ | 70 | */ |
71 | QWidget *WLANModule::information(Interface *i){ | 71 | QWidget *WLANModule::information(Interface *i){ |
72 | WExtensions we(i->getInterfaceName()); | 72 | WExtensions we(i->getInterfaceName()); |
73 | if(!we.doesHaveWirelessExtensions()) | 73 | if(!we.doesHaveWirelessExtensions()) |
74 | return NULL; | 74 | return NULL; |
75 | 75 | ||
76 | WlanInfoImp *info = new WlanInfoImp(0, i->getInterfaceName(), Qt::WDestructiveClose); | 76 | WlanInfoImp *info = new WlanInfoImp(0, i->getInterfaceName(), Qt::WDestructiveClose); |
77 | InterfaceInformationImp *information = new InterfaceInformationImp(info->tabWidget, "InterfaceSetupImp", i); | 77 | InterfaceInformationImp *information = new InterfaceInformationImp(info->tabWidget, "InterfaceSetupImp", i); |
@@ -94,9 +94,9 @@ QList<Interface> WLANModule::getInterfaces(){ | |||
94 | * by possibleNewInterfaces(); | 94 | * by possibleNewInterfaces(); |
95 | * @return Interface* NULL if it was unable to be created. | 95 | * @return Interface* NULL if it was unable to be created. |
96 | */ | 96 | */ |
97 | Interface *WLANModule::addNewInterface(const QString &){ | 97 | Interface *WLANModule::addNewInterface(const QString &){ |
98 | // We can't add a 802.11 interface, either the hardware will be there | 98 | // We can't add a 802.11 interface, either the hardware will be there |
99 | // or it wont. | 99 | // or it wont. |
100 | return NULL; | 100 | return NULL; |
101 | } | 101 | } |
102 | 102 | ||
@@ -104,10 +104,50 @@ Interface *WLANModule::addNewInterface(const QString &){ | |||
104 | * Attempts to remove the interface, doesn't delete i | 104 | * Attempts to remove the interface, doesn't delete i |
105 | * @return bool true if successfull, false otherwise. | 105 | * @return bool true if successfull, false otherwise. |
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 | |||
@@ -13,4 +13,6 @@ public: | |||
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 *); |
@@ -22,4 +24,5 @@ public: | |||
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: |