Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Module Class Reference

The basis of all plugins. More...

#include </home/clem/local/src/opie/noncore/settings/networksettings/interfaces/module.h>

Inheritance diagram for Module:

Inheritance graph
[legend]
Collaboration diagram for Module:

Collaboration graph
[legend]
List of all members.

Signals

void updateInterface (Interface *i)

Public Member Functions

 Module ()
virtual const QString type ()=0
virtual void setProfile (const QString &newProfile)=0
virtual QString getPixmapName (Interface *)=0
virtual bool isOwner (Interface *)
virtual QWidget * configure (Interface *)
virtual QWidget * information (Interface *)
virtual QList< InterfacegetInterfaces ()=0
virtual void possibleNewInterfaces (QMap< QString, QString > &list)=0
virtual InterfaceaddNewInterface (const QString &name)=0
virtual bool remove (Interface *i)=0
virtual void receive (const QCString &msg, const QByteArray &arg)=0
QStringList handledInterfaceNames () const

Protected Member Functions

void setHandledInterfaceNames (const QStringList &in)

Private Attributes

QStringList m_inter

Detailed Description

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()

 extern "C"
  {
   void* create_plugin() {
   return new WLANModule();
 }
 };
See also:
isOwner(Interface*)

Definition at line 48 of file module.h.


Constructor & Destructor Documentation

Module::Module  )  [inline]
 

Definition at line 61 of file module.h.


Member Function Documentation

virtual Interface* Module::addNewInterface const QString name  )  [pure virtual]
 

Attempts to create a new interface from name you gave possibleNewInterfaces()

Returns:
Interface* NULL if it was unable to be created.
Parameters:
name the type of interface to create
See also:
possibleNewInterfaces

Implemented in VirtualModule, PPPModule, and WLANModule.

virtual QWidget* Module::configure Interface  )  [inline, virtual]
 

Create and return the Configure Module

Parameters:
Interface *i the interface to configure.
Returns:
QWidget* pointer to this modules configure.
See also:
InterfaceSetupImp

Reimplemented in VirtualModule, PPPModule, and WLANModule.

Definition at line 109 of file module.h.

References NULL.

virtual QList<Interface> Module::getInterfaces  )  [pure virtual]
 

Get all active (up or down) interfaces managed by this module. At the end of initialisation you will be asked to return your interfaces Return all of your interfaces even the ones you claimed by isOnwer. Here you can also return your 'virtual' Interface Objects

Returns:
QList<Interface> A list of interfaces that exsist that havn't been called by isOwner()

Implemented in VirtualModule, PPPModule, and WLANModule.

virtual QString Module::getPixmapName Interface  )  [pure virtual]
 

get the icon name for this device.

Parameters:
Interface* can be used in determining the icon.
Returns:
QString the icon name (minus .png, .gif etc)

Implemented in VirtualModule, PPPModule, and WLANModule.

QStringList Module::handledInterfaceNames  )  const [inline]
 

Definition at line 172 of file module.h.

References m_inter.

Referenced by MainWindowImp::loadPlugin(), and PPPModule::PPPModule().

virtual QWidget* Module::information Interface  )  [inline, virtual]
 

Create, and return the Information Module.

An default Implementation is InterfaceInformationImp

Parameters:
Interface *i the interface to get info on.
Returns:
QWidget* pointer to this modules info.
See also:
InterfaceInformationImp

Reimplemented in VirtualModule, PPPModule, and WLANModule.

Definition at line 122 of file module.h.

References NULL.

virtual bool Module::isOwner Interface  )  [inline, virtual]
 

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. For physical devices you will be asked if you want to own the device. But you can also create new

See also:
Interface Implementations.
If you want to own the Interface add it to your internal interface list

Parameters:
Interface* interface to check against
Returns:
bool true if i is owned by this module, false otherwise.
See also:
getInterfaces

Reimplemented in VirtualModule, DefaultModule, PPPModule, and WLANModule.

Definition at line 100 of file module.h.

virtual void Module::possibleNewInterfaces QMap< QString, QString > &  list  )  [pure virtual]
 

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.

list.insert(

Parameters:
list A reference to the list of supported additionns.

Implemented in VirtualModule, PPPModule, and WLANModule.

virtual void Module::receive const QCString msg,
const QByteArray arg
[pure virtual]
 

get dcop calls

Implemented in VirtualModule, PPPModule, and WLANModule.

virtual bool Module::remove Interface i  )  [pure virtual]
 

Attempts to remove the interface, doesn't delete i

Returns:
bool true if successful, false otherwise.

Implemented in VirtualModule, PPPModule, and WLANModule.

void Module::setHandledInterfaceNames const QStringList in  )  [inline, protected]
 

set which interfaceNames should not be shown cause they're handled internally of this module.. An already running ppp link or a tunnel... VPN an such

Definition at line 179 of file module.h.

References m_inter.

Referenced by PPPModule::PPPModule().

virtual void Module::setProfile const QString newProfile  )  [pure virtual]
 

The current profile has been changed and the module should do any neccesary changes also. As of Opie1.0 profiles are disabled.

Parameters:
newProfile what the profile should be changed to.

Implemented in VirtualModule, PPPModule, and WLANModule.

virtual const QString Module::type  )  [pure virtual]
 

The type of the plugin and the name of the qcop call

Implemented in VirtualModule, PPPModule, and WLANModule.

void Module::updateInterface Interface i  )  [signal]
 

Emit this Signal once you change the Interface you're operating on

Parameters:
i The Interface

Reimplemented in VirtualModule, PPPModule, and WLANModule.


Member Data Documentation

QStringList Module::m_inter [private]
 

Definition at line 182 of file module.h.

Referenced by handledInterfaceNames(), and setHandledInterfaceNames().


The documentation for this class was generated from the following file:
Generated on Sat Nov 5 17:40:41 2005 for OPIE by  doxygen 1.4.2