Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

Plugin Class Reference

Plugin support. More...

#include <yatengine.h>

Inheritance diagram for Plugin:

GenObject Module ChanAssistList Driver ClientDriver List of all members.

Public Member Functions

 Plugin (const char *name)
 Plugin ()
virtual ~Plugin ()
virtual void * getObject (const String &name) const
virtual void initialize ()=0
virtual bool isBusy () const

Detailed Description

Plugin support.

Initialization and information about plugins. Plugins are located in shared libraries that are loaded at runtime.

 // Create static Plugin object by using the provided macro
 INIT_PLUGIN(Plugin);


Constructor & Destructor Documentation

Plugin const char *  name  ) 
 

Creates a new Plugin container.

Parameters:
name the undecorated name of the library that contains the plugin

Plugin  ) 
 

Creates a new Plugin container. Alternate constructor which is also the default.

virtual ~Plugin  )  [virtual]
 

Destroys the plugin. The destructor must never be called directly - the Loader will do it when the shared object's reference count reaches zero.


Member Function Documentation

virtual void* getObject const String name  )  const [virtual]
 

Get a pointer to a derived class given that class name

Parameters:
name Name of the class we are asking for
Returns:
Pointer to the requested class or NULL if this object doesn't implement it

Reimplemented from GenObject.

Reimplemented in Module, and Driver.

virtual void initialize  )  [pure virtual]
 

Initialize the plugin after it was loaded and registered.

Implemented in ClientDriver, Module, Driver, and ChanAssistList.

virtual bool isBusy  )  const [inline, virtual]
 

Check if the module is actively used.

Returns:
True if the plugin is in use, false if should be ok to restart

Reimplemented in Driver.


The documentation for this class was generated from the following file:
Generated on Fri Jul 7 03:11:38 2006 for Yate by  doxygen 1.4.4