author | zecke <zecke> | 2004-02-08 15:22:06 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-02-08 15:22:06 (UTC) |
commit | 811821ed75b87468f521bef2077cf5988aac9b47 (patch) (side-by-side diff) | |
tree | 46acd55f4faa6abb3e731966d82ab0eacddec5cc /noncore/settings/networksettings/module.h | |
parent | d03af1b4f0e9f00f7d135d4366cac818c6797600 (diff) | |
download | opie-811821ed75b87468f521bef2077cf5988aac9b47.zip opie-811821ed75b87468f521bef2077cf5988aac9b47.tar.gz opie-811821ed75b87468f521bef2077cf5988aac9b47.tar.bz2 |
Document Networksettings API
Diffstat (limited to 'noncore/settings/networksettings/module.h') (more/less context) (show 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 @@ -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; } |