summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings/mainwindowimp.h
blob: f211d6e2324c73a1dcf1872a311b032322ef3cc0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#ifndef MAINWINOWIMP_H
#define MAINWINOWIMP_H

#include "mainwindow.h"
#include <qmap.h>
#include <qstringlist.h>

class Module;
class Interface;
class QLibrary;
class KProcess;
class QCopChannel;
#ifdef QWS
class QLibrary;
#else
class KLibrary;
class KLibLoader;
#define QLibrary KLibrary
#endif


class MainWindowImp : public MainWindow {
  Q_OBJECT

public:
  static QString appName() { return QString::fromLatin1("networksettings"); }
  MainWindowImp(QWidget *parent=0, const char *name=0, WFlags fl = 0);
  ~MainWindowImp();

  QCopChannel *channel;

private slots:
  void getAllInterfaces();

  void addClicked();
  void removeClicked();
  void configureClicked();
  void informationClicked();

  void addProfile();
  void removeProfile();
  void changeProfile();

  void updateInterface(Interface *i);
  void newProfileChanged(const QString& newText);

  void receive (const QCString &, const QByteArray &);

private:
  void makeChannel();
  void loadModules(const QString &path);

  Module* loadPlugin(const QString &pluginFileName,
		     const QString &resolveString = "create_plugin");

  // For our local list of names
  QMap<QString, Interface*> interfaceNames;

  QMap<Module*, QLibrary*> libraries;
  QMap<Interface*, QListViewItem*> items;
  QMap<QListViewItem*, Interface*> interfaceItems;
  QStringList m_handledIfaces;

  QMap<KProcess*, QString> threads;
  QStringList profiles;

  bool advancedUserMode;
  QString scheme;
#ifndef QWS
  KLibLoader *loader;
#endif
};

#endif // MAINWINOWIMP_H