summaryrefslogtreecommitdiff
authortille <tille>2003-06-12 15:04:14 (UTC)
committer tille <tille>2003-06-12 15:04:14 (UTC)
commitf0f9cf3fa486a577770e3c0e89280c66ea331e73 (patch) (unidiff)
treecdafae987efebf441b70a527a6e832333c1410e3
parent65327026c2f26e28c76bf234f8b7943612b49b05 (diff)
downloadopie-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.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/mainwindowimp.cpp44
-rw-r--r--noncore/settings/networksettings/mainwindowimp.h140
-rw-r--r--noncore/settings/networksettings/module.h12
-rw-r--r--noncore/settings/networksettings/networksettings.pro5
-rw-r--r--noncore/settings/networksettings/ppp/pppmodule.h2
-rw-r--r--noncore/settings/networksettings/wlan/wlanmodule.cpp72
-rw-r--r--noncore/settings/networksettings/wlan/wlanmodule.h3
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
@@ -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 */
127MainWindowImp::~MainWindowImp(){ 129MainWindowImp::~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
631void 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
638void 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
8class Module; 8class Module;
9class Interface; 9class Interface;
10class QLibrary; 10class QLibrary;
11class KProcess; 11class KProcess;
12#ifdef QWS 12class QCopChannel;
13class QLibrary; 13#ifdef QWS
14#else 14class QLibrary;
15class KLibrary; 15#else
16class KLibLoader; 16class KLibrary;
17#define QLibrary KLibrary 17class KLibLoader;
18#endif 18#define QLibrary KLibrary
19 19#endif
20 20
21class MainWindowImp : public MainWindow { 21
22 Q_OBJECT 22class MainWindowImp : public MainWindow {
23 23 Q_OBJECT
24public: 24
25 MainWindowImp(QWidget *parent=0, const char *name=0); 25public:
26 ~MainWindowImp(); 26 MainWindowImp(QWidget *parent=0, const char *name=0);
27 27 ~MainWindowImp();
28private slots: 28
29 void getAllInterfaces(); 29 QCopChannel *channel;
30 30
31 void addClicked(); 31private 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
43private: 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 48private:
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
@@ -14,17 +14,24 @@ class QWidget;
14class QTabWidget; 14class QTabWidget;
15 15
16class Module : QObject{ 16class Module : QObject{
17 17
18signals: 18signals:
19 void updateInterface(Interface *i); 19 void updateInterface(Interface *i);
20
20 21
21public: 22public:
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 @@
1DESTDIR = $(OPIEDIR)/bin 1DESTDIR = $(OPIEDIR)/bin
2TEMPLATE = app 2TEMPLATE = app
3#CONFIG = qt warn_on debug 3#
4CONFIG = qt warn_on release 4CONFIG = qt warn_on debug
5#CONFIG = qt warn_on release
5HEADERS = mainwindowimp.h addconnectionimp.h defaultmodule.h module.h 6HEADERS = mainwindowimp.h addconnectionimp.h defaultmodule.h module.h
6SOURCES = main.cpp mainwindowimp.cpp addconnectionimp.cpp 7SOURCES = main.cpp mainwindowimp.cpp addconnectionimp.cpp
7INCLUDEPATH += $(OPIEDIR)/include interfaces/ 8INCLUDEPATH += $(OPIEDIR)/include interfaces/
8DEPENDPATH += $(OPIEDIR)/include interfaces/ wlan/ 9DEPENDPATH += $(OPIEDIR)/include interfaces/ wlan/
9LIBS += -lqpe -L$(OPIEDIR)/plugins/networksettings -Linterfaces/ -linterfaces -lopie 10LIBS += -lqpe -L$(OPIEDIR)/plugins/networksettings -Linterfaces/ -linterfaces -lopie
10INTERFACES = mainwindow.ui addconnection.ui 11INTERFACES = 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
11public: 11public:
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
25private: 27private:
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
@@ -7,75 +7,75 @@
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/** 11/**
12 * Constructor, find all of the possible interfaces 12 * Constructor, find all of the possible interfaces
13 */ 13 */
14WLANModule::WLANModule() : Module() { 14WLANModule::WLANModule() : Module() {
15} 15}
16 16
17/** 17/**
18 * Delete any interfaces that we own. 18 * Delete any interfaces that we own.
19 */ 19 */
20WLANModule::~WLANModule(){ 20WLANModule::~WLANModule(){
21 Interface *i; 21 Interface *i;
22 for ( i=list.first(); i != 0; i=list.next() ) 22 for ( i=list.first(); i != 0; i=list.next() )
23 delete i; 23 delete i;
24} 24}
25 25
26/** 26/**
27 * Change the current profile 27 * Change the current profile
28 */ 28 */
29void WLANModule::setProfile(const QString &newProfile){ 29void WLANModule::setProfile(const QString &newProfile){
30 profile = newProfile; 30 profile = newProfile;
31} 31}
32 32
33/** 33/**
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 */
38QString WLANModule::getPixmapName(Interface* ){ 38QString WLANModule::getPixmapName(Interface* ){
39 return "wlan"; 39 return "wlan";
40} 40}
41 41
42/** 42/**
43 * Check to see if the interface i is owned by this module. 43 * Check to see if the interface i is owned by this module.
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 */
47bool WLANModule::isOwner(Interface *i){ 47bool 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);
54 return true; 54 return true;
55} 55}
56 56
57/** 57/**
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 */
61QWidget *WLANModule::configure(Interface *i){ 61QWidget *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);
63 wlanconfig->setProfile(profile); 63 wlanconfig->setProfile(profile);
64 return wlanconfig; 64 return wlanconfig;
65} 65}
66 66
67/** 67/**
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 */
71QWidget *WLANModule::information(Interface *i){ 71QWidget *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);
78 info->tabWidget->insertTab(information, "TCP/IP"); 78 info->tabWidget->insertTab(information, "TCP/IP");
79 return info; 79 return info;
80} 80}
81 81
@@ -90,24 +90,64 @@ QList<Interface> WLANModule::getInterfaces(){
90 90
91/** 91/**
92 * Attempt to add a new interface as defined by name 92 * Attempt to add a new interface as defined by name
93 * @param name the name of the type of interface that should be created given 93 * @param name the name of the type of interface that should be created given
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 */
97Interface *WLANModule::addNewInterface(const QString &){ 97Interface *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
103/** 103/**
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 */
107bool WLANModule::remove(Interface*){ 107bool 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 112void WLANModule::receive(const QCString &param, 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
11public: 11public:
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
25private: 28private:
26 QList<Interface> list; 29 QList<Interface> list;
27 QString profile; 30 QString profile;
28 31
29}; 32};