# class Plugin

Plugin support. More...

Contains pure virtuals
Full name | `TelEngine::Plugin`
Definition | `#include <yatengine.h>`
Inherits | TelEngine::DebugEnabler [public ], TelEngine::GenObject [public ]
Inherited by | ClientDriver, Driver, Module
List of all Methods

Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- explicit Plugin (const char* name, bool earlyInit = false)
- virtual ~Plugin ()
- virtual const String& toString () const
- virtual void* getObject (const String& name) const
- virtual void initialize ()
- virtual bool isBusy () const
- inline const String& name () const
- bool earlyInit () const

## Detailed Description

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

explicit Plugin (const char* name, bool earlyInit = false)

### Plugin

Creates a new Plugin container.

Parameters:

name | the undecorated name of the library that contains the plugin
earlyInit | True to initialize the plugin early

~Plugin ()

### ~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.

const String& toString ()

### toString

[const virtual]

Get a string representation of this object

Returns: Name of the plugin

Reimplemented from GenObject.

void* getObject (const String& name)

### getObject

[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.

void initialize ()

### initialize

[pure virtual]

Initialize the plugin after it was loaded and registered.

bool isBusy ()

### isBusy

[const virtual]

Check if the module is actively used.

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

inline const String& name ()

### name

[const]

Retrieve the name of the plugin

Returns: The plugin's name as String

bool earlyInit ()

### earlyInit

[const]

Check if the module is to be initialized early

Returns: True if the module should be initialized before regular ones

Generated by: paulc on bussard on Fri Dec 21 16:28:34 2012, using kdoc 2.0a54.