summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings/module.h
authorzecke <zecke>2004-02-08 15:22:06 (UTC)
committer zecke <zecke>2004-02-08 15:22:06 (UTC)
commit811821ed75b87468f521bef2077cf5988aac9b47 (patch) (side-by-side diff)
tree46acd55f4faa6abb3e731966d82ab0eacddec5cc /noncore/settings/networksettings/module.h
parentd03af1b4f0e9f00f7d135d4366cac818c6797600 (diff)
downloadopie-811821ed75b87468f521bef2077cf5988aac9b47.zip
opie-811821ed75b87468f521bef2077cf5988aac9b47.tar.gz
opie-811821ed75b87468f521bef2077cf5988aac9b47.tar.bz2
Document Networksettings API
Diffstat (limited to 'noncore/settings/networksettings/module.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/module.h77
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
@@ -13,9 +13,47 @@
class QWidget;
class QTabWidget;
-class Module : QObject{
+
+/**
+ * \brief The basis of all plugins
+ *
+ * This is the way to extend networksettings with
+ * extra functionality.
+ *
+ *
+ * Networksettings in the 1.0 release does not use QCOM
+ * for activation. You need to provide the following function yourself.
+ *
+ * A module needs to provide Name, Images, and methods for
+ * claiming interfaces. For example you can claim physicla
+ * interfaces like wlan0, ppp0 or virtual like a VPN
+ * connection and hide the real ppp device or ethernet device
+ * behind your VPN plugin.
+ *
+ * During start up. The main application searches for network devices
+ * and then looks for an owner under the plugins for them.
+ * For example the WLAN Plugin looks if there is a WLAN Extension
+ * on that interface and then claims it by returning true from isOwner()
+ *
+ * \code
+ * extern "C"
+ * {
+ * void* create_plugin() {
+ * return new WLANModule();
+ * }
+ * };
+ * \endcode
+ * @see isOwner(Interface*)
+ */
+class Module : private QObject{
signals:
+/**
+ * Emit this Signal once you change the Interface
+ * you're operating on
+ *
+ * @param i The Interface
+ */
void updateInterface(Interface *i);
@@ -24,13 +62,15 @@ public:
/**
* The type of the plugin
- * and the name of the dcop call
+ * and the name of the qcop call
*/
virtual const QString type() = 0;
/**
* The current profile has been changed and the module should do any
* neccesary changes also.
+ * As of Opie1.0 profiles are disabled.
+ *
* @param newProfile what the profile should be changed to.
*/
virtual void setProfile(const QString &newProfile) = 0;
@@ -44,27 +84,38 @@ public:
/**
* Check to see if the interface i is owned by this module.
+ * See if you can handle it. And if you can claim ownership
+ * by returning true.
* @param Interface* interface to check against
* @return bool true if i is owned by this module, false otherwise.
*/
virtual bool isOwner(Interface *){ return false; };
/**
- * Create and return the WLANConfigure Module
+ * Create and return the Configure Module
* @param Interface *i the interface to configure.
* @return QWidget* pointer to this modules configure.
+ *
+ * @see InterfaceSetupImp
*/
virtual QWidget *configure(Interface *){ return NULL; } ;
/**
- * Create, and return the Information Module
+ * Create, and return the Information Module.
+ *
+ * An default Implementation is InterfaceInformationImp
+ *
* @param Interface *i the interface to get info on.
* @return QWidget* pointer to this modules info.
+ *
+ * @see InterfaceInformationImp
+ *
*/
virtual QWidget *information(Interface *){ return NULL; };
/**
- * Get all active (up or down) interfaces
+ * Get all active (up or down) interfaces managed by this
+ * module.
* @return QList<Interface> A list of interfaces that exsist that havn't
* been called by isOwner()
*/
@@ -73,13 +124,25 @@ public:
/**
* Adds possible new interfaces to the list (Example: usb(ppp), ir(ppp),
* modem ppp)
+ * Both strings need to be translated. The first string is a Shortcut
+ * like PPP and the second argument is a description.
+ *
+ * <code>
+ * list.insert(
+ *
+ * </code>
+ *
+ * @param list A reference to the list of supported additionns.
*/
virtual void possibleNewInterfaces(QMap<QString, QString> &list) = 0;
/**
- * Attempts to create a new interface from name
+ * Attempts to create a new interface from name you gave
+ * possibleNewInterfaces()
* @return Interface* NULL if it was unable to be created.
* @param name the type of interface to create
+ *
+ * @see possibleNewInterfaces
*/
virtual Interface *addNewInterface(const QString &name) = 0;
@@ -99,7 +162,7 @@ protected:
/**
* set which interfaceNames should not be shown cause they're handled
* internally of this module.. An already running ppp link or
- * a tunnel...
+ * a tunnel... VPN an such
*/
void setHandledInterfaceNames( const QStringList& in) { m_inter = in; }