Diffstat (limited to 'noncore/settings/networksettings/module.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings/module.h | 77 |
1 files changed, 70 insertions, 7 deletions
diff --git a/noncore/settings/networksettings/module.h b/noncore/settings/networksettings/module.h index 5cc82cd..3ef823c 100644 --- a/noncore/settings/networksettings/module.h +++ b/noncore/settings/networksettings/module.h | |||
@@ -10,30 +10,70 @@ | |||
10 | #include <qmap.h> | 10 | #include <qmap.h> |
11 | #include "interface.h" | 11 | #include "interface.h" |
12 | 12 | ||
13 | class QWidget; | 13 | class QWidget; |
14 | class QTabWidget; | 14 | class QTabWidget; |
15 | 15 | ||
16 | class Module : QObject{ | 16 | |
17 | /** | ||
18 | * \brief The basis of all plugins | ||
19 | * | ||
20 | * This is the way to extend networksettings with | ||
21 | * extra functionality. | ||
22 | * | ||
23 | * | ||
24 | * Networksettings in the 1.0 release does not use QCOM | ||
25 | * for activation. You need to provide the following function yourself. | ||
26 | * | ||
27 | * A module needs to provide Name, Images, and methods for | ||
28 | * claiming interfaces. For example you can claim physicla | ||
29 | * interfaces like wlan0, ppp0 or virtual like a VPN | ||
30 | * connection and hide the real ppp device or ethernet device | ||
31 | * behind your VPN plugin. | ||
32 | * | ||
33 | * During start up. The main application searches for network devices | ||
34 | * and then looks for an owner under the plugins for them. | ||
35 | * For example the WLAN Plugin looks if there is a WLAN Extension | ||
36 | * on that interface and then claims it by returning true from isOwner() | ||
37 | * | ||
38 | * \code | ||
39 | * extern "C" | ||
40 | * { | ||
41 | * void* create_plugin() { | ||
42 | * return new WLANModule(); | ||
43 | * } | ||
44 | * }; | ||
45 | * \endcode | ||
46 | * @see isOwner(Interface*) | ||
47 | */ | ||
48 | class Module : private QObject{ | ||
17 | 49 | ||
18 | signals: | 50 | signals: |
51 | /** | ||
52 | * Emit this Signal once you change the Interface | ||
53 | * you're operating on | ||
54 | * | ||
55 | * @param i The Interface | ||
56 | */ | ||
19 | void updateInterface(Interface *i); | 57 | void updateInterface(Interface *i); |
20 | 58 | ||
21 | 59 | ||
22 | public: | 60 | public: |
23 | Module(){}; | 61 | Module(){}; |
24 | 62 | ||
25 | /** | 63 | /** |
26 | * The type of the plugin | 64 | * The type of the plugin |
27 | * and the name of the dcop call | 65 | * and the name of the qcop call |
28 | */ | 66 | */ |
29 | virtual const QString type() = 0; | 67 | virtual const QString type() = 0; |
30 | 68 | ||
31 | /** | 69 | /** |
32 | * The current profile has been changed and the module should do any | 70 | * The current profile has been changed and the module should do any |
33 | * neccesary changes also. | 71 | * neccesary changes also. |
72 | * As of Opie1.0 profiles are disabled. | ||
73 | * | ||
34 | * @param newProfile what the profile should be changed to. | 74 | * @param newProfile what the profile should be changed to. |
35 | */ | 75 | */ |
36 | virtual void setProfile(const QString &newProfile) = 0; | 76 | virtual void setProfile(const QString &newProfile) = 0; |
37 | 77 | ||
38 | /** | 78 | /** |
39 | * get the icon name for this device. | 79 | * get the icon name for this device. |
@@ -41,48 +81,71 @@ public: | |||
41 | * @return QString the icon name (minus .png, .gif etc) | 81 | * @return QString the icon name (minus .png, .gif etc) |
42 | */ | 82 | */ |
43 | virtual QString getPixmapName(Interface *) = 0; | 83 | virtual QString getPixmapName(Interface *) = 0; |
44 | 84 | ||
45 | /** | 85 | /** |
46 | * Check to see if the interface i is owned by this module. | 86 | * Check to see if the interface i is owned by this module. |
87 | * See if you can handle it. And if you can claim ownership | ||
88 | * by returning true. | ||
47 | * @param Interface* interface to check against | 89 | * @param Interface* interface to check against |
48 | * @return bool true if i is owned by this module, false otherwise. | 90 | * @return bool true if i is owned by this module, false otherwise. |
49 | */ | 91 | */ |
50 | virtual bool isOwner(Interface *){ return false; }; | 92 | virtual bool isOwner(Interface *){ return false; }; |
51 | 93 | ||
52 | /** | 94 | /** |
53 | * Create and return the WLANConfigure Module | 95 | * Create and return the Configure Module |
54 | * @param Interface *i the interface to configure. | 96 | * @param Interface *i the interface to configure. |
55 | * @return QWidget* pointer to this modules configure. | 97 | * @return QWidget* pointer to this modules configure. |
98 | * | ||
99 | * @see InterfaceSetupImp | ||
56 | */ | 100 | */ |
57 | virtual QWidget *configure(Interface *){ return NULL; } ; | 101 | virtual QWidget *configure(Interface *){ return NULL; } ; |
58 | 102 | ||
59 | /** | 103 | /** |
60 | * Create, and return the Information Module | 104 | * Create, and return the Information Module. |
105 | * | ||
106 | * An default Implementation is InterfaceInformationImp | ||
107 | * | ||
61 | * @param Interface *i the interface to get info on. | 108 | * @param Interface *i the interface to get info on. |
62 | * @return QWidget* pointer to this modules info. | 109 | * @return QWidget* pointer to this modules info. |
110 | * | ||
111 | * @see InterfaceInformationImp | ||
112 | * | ||
63 | */ | 113 | */ |
64 | virtual QWidget *information(Interface *){ return NULL; }; | 114 | virtual QWidget *information(Interface *){ return NULL; }; |
65 | 115 | ||
66 | /** | 116 | /** |
67 | * Get all active (up or down) interfaces | 117 | * Get all active (up or down) interfaces managed by this |
118 | * module. | ||
68 | * @return QList<Interface> A list of interfaces that exsist that havn't | 119 | * @return QList<Interface> A list of interfaces that exsist that havn't |
69 | * been called by isOwner() | 120 | * been called by isOwner() |
70 | */ | 121 | */ |
71 | virtual QList<Interface> getInterfaces() = 0; | 122 | virtual QList<Interface> getInterfaces() = 0; |
72 | 123 | ||
73 | /** | 124 | /** |
74 | * Adds possible new interfaces to the list (Example: usb(ppp), ir(ppp), | 125 | * Adds possible new interfaces to the list (Example: usb(ppp), ir(ppp), |
75 | * modem ppp) | 126 | * modem ppp) |
127 | * Both strings need to be translated. The first string is a Shortcut | ||
128 | * like PPP and the second argument is a description. | ||
129 | * | ||
130 | * <code> | ||
131 | * list.insert( | ||
132 | * | ||
133 | * </code> | ||
134 | * | ||
135 | * @param list A reference to the list of supported additionns. | ||
76 | */ | 136 | */ |
77 | virtual void possibleNewInterfaces(QMap<QString, QString> &list) = 0; | 137 | virtual void possibleNewInterfaces(QMap<QString, QString> &list) = 0; |
78 | 138 | ||
79 | /** | 139 | /** |
80 | * Attempts to create a new interface from name | 140 | * Attempts to create a new interface from name you gave |
141 | * possibleNewInterfaces() | ||
81 | * @return Interface* NULL if it was unable to be created. | 142 | * @return Interface* NULL if it was unable to be created. |
82 | * @param name the type of interface to create | 143 | * @param name the type of interface to create |
144 | * | ||
145 | * @see possibleNewInterfaces | ||
83 | */ | 146 | */ |
84 | virtual Interface *addNewInterface(const QString &name) = 0; | 147 | virtual Interface *addNewInterface(const QString &name) = 0; |
85 | 148 | ||
86 | /** | 149 | /** |
87 | * Attempts to remove the interface, doesn't delete i | 150 | * Attempts to remove the interface, doesn't delete i |
88 | * @return bool true if successful, false otherwise. | 151 | * @return bool true if successful, false otherwise. |
@@ -96,13 +159,13 @@ public: | |||
96 | 159 | ||
97 | QStringList handledInterfaceNames()const { return m_inter; } | 160 | QStringList handledInterfaceNames()const { return m_inter; } |
98 | protected: | 161 | protected: |
99 | /** | 162 | /** |
100 | * set which interfaceNames should not be shown cause they're handled | 163 | * set which interfaceNames should not be shown cause they're handled |
101 | * internally of this module.. An already running ppp link or | 164 | * internally of this module.. An already running ppp link or |
102 | * a tunnel... | 165 | * a tunnel... VPN an such |
103 | */ | 166 | */ |
104 | void setHandledInterfaceNames( const QStringList& in) { m_inter = in; } | 167 | void setHandledInterfaceNames( const QStringList& in) { m_inter = in; } |
105 | 168 | ||
106 | private: | 169 | private: |
107 | QStringList m_inter; | 170 | QStringList m_inter; |
108 | }; | 171 | }; |