00001 #ifndef MAINWINOWIMP_H
00002 #define MAINWINOWIMP_H
00003
00004 #include "mainwindow.h"
00005 #include <qmap.h>
00006 #include <qstringlist.h>
00007
00008 class Module;
00009 class Interface;
00010 class QLibrary;
00011 class KProcess;
00012 class QCopChannel;
00013 #ifdef QWS
00014 class QLibrary;
00015 #else
00016 class KLibrary;
00017 class KLibLoader;
00018 #define QLibrary KLibrary
00019 #endif
00020
00021 namespace Opie {
00022 namespace Core {
00023 class OProcess;
00024 }
00025 }
00026
00027 class MainWindowImp : public MainWindow {
00028 Q_OBJECT
00029
00030 public:
00031 static QString appName() { return QString::fromLatin1("networksettings"); }
00032 MainWindowImp(QWidget *parent=0, const char *name=0, WFlags fl = 0);
00033 ~MainWindowImp();
00034
00035 QCopChannel *channel;
00036
00037 private slots:
00038 void getAllInterfaces();
00039
00040 void addClicked();
00041 void removeClicked();
00042 void configureClicked();
00043 void informationClicked();
00044
00045 void addProfile();
00046 void removeProfile();
00047 void changeProfile();
00048
00049 void updateInterface(Interface *i);
00050 void newProfileChanged(const QString& newText);
00051
00052 void receive (const QCString &, const QByteArray &);
00053
00054 protected slots:
00055 virtual void setHostname();
00056 virtual void slotHostname(Opie::Core::OProcess *proc, char *buffer, int buflen);
00057
00058 private:
00059 void makeChannel();
00060 void loadModules(const QString &path);
00061 void initHostname();
00062
00063 Module* loadPlugin(const QString &pluginFileName,
00064 const QString &resolveString = "create_plugin");
00065
00066
00067 QMap<QString, Interface*> interfaceNames;
00068
00069 QMap<Module*, QLibrary*> libraries;
00070 QMap<Interface*, QListViewItem*> items;
00071 QMap<QListViewItem*, Interface*> interfaceItems;
00072 QStringList m_handledIfaces;
00073
00074 QMap<KProcess*, QString> threads;
00075 QStringList profiles;
00076
00077 bool advancedUserMode;
00078 QString scheme;
00079 QString _procTemp;
00080 #ifndef QWS
00081 KLibLoader *loader;
00082 #endif
00083 };
00084
00085 #endif // MAINWINOWIMP_H
00086