Package peppy :: Package yapsy :: Module PluginManager
[frames] | no frames]

Module PluginManager

The basic interface and implementation for a plugin manager.

Also define the basic mechanism to add functionalities to the base PluginManager. A few "principles" to follow in this case:

If the new functionalities do not overlap the ones already implemented, then they must be implemented as a Decorator class of the base plugin. This should be done by inheriting the ``PluginManagerDecorator``.

If this previous way is not possible, then the functionalities should be added as a subclass of ``PluginManager``.

The first method is highly prefered since it makes it possible to have a more flexible design where one can pick several functionalities and litterally *add* them to get an object corresponding to one's precise needs.

Classes
  PluginInfo
Gather some info about a plugin such as its name, author, description...
  PluginManager
Manage several plugins by ordering them in several categories.
  PluginManagerDecorator
Make it possible to add several responsibilities to a plugin manager object in a more flexible way than by mere subclassing.
  PluginManagerSingleton
Singleton version of the most basic plugin manager.
Variables
  PLUGIN_NAME_FORBIDEN_STRING = ';;'