# Plugin Class Reference

Plugin support. More...

`#include <yatengine.h>`

Inheritance diagram for Plugin:

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 Module, Driver, and ClientDriver.

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:

- yatengine.h