author | tille <tille> | 2003-06-12 15:04:14 (UTC) |
---|---|---|
committer | tille <tille> | 2003-06-12 15:04:14 (UTC) |
commit | f0f9cf3fa486a577770e3c0e89280c66ea331e73 (patch) (side-by-side diff) | |
tree | cdafae987efebf441b70a527a6e832333c1410e3 /noncore | |
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 @@ -12,4 +12,5 @@ #include <qheader.h> #include <qlabel.h> +#include <qpe/qcopenvelope_qws.h> #include <qtabwidget.h> // in order to disable the profiles tab @@ -62,5 +63,5 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par //FIXME: disable profiles for the moment: - tabWidget->setTabEnabled( tab, false ); +// tabWidget->setTabEnabled( tab, false ); // Load connections. @@ -120,4 +121,5 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par file.close(); } + makeChannel(); } @@ -194,5 +196,6 @@ void MainWindowImp::getAllInterfaces(){ for (QStringList::Iterator it = ifaces.begin(); it != ifaces.end(); ++it) { - int flags = 0, family; + int flags = 0; +// int family; i = NULL; @@ -625,2 +628,39 @@ void MainWindowImp::changeProfile(){ } + +void MainWindowImp::makeChannel() +{ + channel = new QCopChannel( "QPE/Application/networksettings", this ); + connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), + this, SLOT(receive(const QCString&, const QByteArray&)) ); +} + +void MainWindowImp::receive(const QCString &msg, const QByteArray &arg) +{ + bool found = false; + qDebug("MainWindowImp::receive QCop msg >"+msg+"<"); + + QString dest = msg.left(msg.find("(")); + QCString param = msg.right(msg.length() - msg.find("(") - 1); + param = param.left( param.length() - 1 ); + qDebug("dest >%s< param >"+param+"<",dest.latin1()); + +// if (param.contains("QString,QString,QString")) { +// QDataStream stream(arg,IO_ReadOnly); +// QString arg1, arg2, arg3; +// stream >> arg1 >> arg2 >> arg3 ; +// qDebug("args: >%s< >%s< >%s<",arg1.latin1(),arg2.latin1(),arg3.latin1()); +// } + + QMap<Module*, QLibrary*>::Iterator it; + for( it = libraries.begin(); it != libraries.end(); ++it ){ + qDebug("plugin >%s<", it.key()->type().latin1() ); + if(it.key()->type() == dest){ + it.key()->receive( param, arg ); + found = true; + } + } + + + if (!found) qDebug("Huh what do ya want"); +} 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 @@ -10,4 +10,5 @@ class Interface; class QLibrary;
class KProcess;
+class QCopChannel; #ifdef QWS
class QLibrary;
@@ -26,4 +27,6 @@ public: ~MainWindowImp();
+ QCopChannel *channel; + private slots:
void getAllInterfaces();
@@ -41,5 +44,8 @@ private slots: void newProfileChanged(const QString& newText);
+ void receive (const QCString &, const QByteArray &); + private:
+ void makeChannel(); void loadModules(const QString &path);
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 @@ -19,8 +19,15 @@ signals: void updateInterface(Interface *i); + public: Module(){}; /** + * The type of the plugin + * and the name of the dcop call + */ + virtual const QString type() = 0; + + /** * The current profile has been changed and the module should do any * neccesary changes also. @@ -83,4 +90,9 @@ public: virtual bool remove(Interface* i) = 0; + /** + * get dcop calls + */ + virtual void receive(const QCString &msg, const QByteArray &arg) = 0; + }; 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 @@ DESTDIR = $(OPIEDIR)/bin TEMPLATE = app -#CONFIG = qt warn_on debug -CONFIG = qt warn_on release +# +CONFIG = qt warn_on debug +#CONFIG = qt warn_on release HEADERS = mainwindowimp.h addconnectionimp.h defaultmodule.h module.h 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: ~PPPModule(); + virtual const QString type() {return "ppp";}; virtual void setProfile(const QString &newProfile); virtual bool isOwner(Interface *); @@ -22,4 +23,5 @@ public: virtual bool remove(Interface* i); virtual QString getPixmapName(Interface* i); + virtual void receive(const QCString &msg, const QByteArray &arg) {}; 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 @@ -110,4 +110,44 @@ bool WLANModule::remove(Interface*){ } -// wlanmodule.cpp +void WLANModule::receive(const QCString ¶m, const QByteArray &arg) +{ + qDebug("WLANModule::receive "+param); + QStringList params = QStringList::split(",",param); + int count = params.count(); + qDebug("got %i params", count ); + if (count < 2){ + qDebug("Erorr less than 2 parameter"); + qDebug("RETURNING"); + return; + } + + QDataStream stream(arg,IO_ReadOnly); + QString interface; + QString action; + + stream >> interface; + stream >> action; + qDebug("got interface %s and acion %s", interface.latin1(), action.latin1()); + + if (count == 2){ + // those should call the interface + if ( action.contains("start" ) ){ + qDebug("starting %s not yet implemented",interface.latin1()); + } else if ( action.contains("restart" ) ){ + qDebug("restarting %s not yet implemented",interface.latin1()); + } else if ( action.contains("stop" ) ){ + qDebug("stopping %s not yet implemented",interface.latin1()); + } + }else if (count == 3){ + QString value; + stream >> value; + qDebug("setting %s of %s to %s", action.latin1(), interface.latin1(), value.latin1() ); + } + // if (param.contains("QString,QString,QString")) { +// QDataStream stream(arg,IO_ReadOnly); +// QString arg1, arg2, arg3; +// stream >> arg1 >> arg2 >> arg3 ; +// qDebug("interface >%s< setting >%s< value >%s<",arg1.latin1(),arg2.latin1(),arg3.latin1()); +// } +} 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: ~WLANModule(); + + virtual const QString type() {return "wlan";}; void setProfile(const QString &newProfile); bool isOwner(Interface *); @@ -22,4 +24,5 @@ public: bool remove(Interface* i); QString getPixmapName(Interface* i); + virtual void receive(const QCString&, const QByteArray&); private: |