The EPlugin base class
is an abstract class which provides the basic services for plugin
implementations. The main services are:
- Resolve plugin type and instantiate an EPlugin
object to represent and manage it.
- Load the base structure of the XML plugin
- Resolve plugin hook types and instantiate a
EPluginHook to represent and manage it.
- Provide a simple, language-independent api for
invoking plugin callbacks
- Provide I18N context for plugins.
- Some simple static helper methods to simplify each
See the Chapter 8,
1.1. Definition of a Plugin
The base plugin XML definition. Subclasses of EPlugin extend this
basic structure with additional parameters or elements as they
Note that there may be any number of e-plugin
elements in a given plugin file, this may be used to simplify
distribution of plugin packages.
domain="translation domain" ?
<description>long description</description> ?
A unique string identifying this plugin. By convention this
will follow the java-like class namespace system.
The type name of the plugin loader. Currently shlib and mono are the only
supported values. If no known handler is registered for this
type, the plugin definition is silently ignored.
The translation domain for this plugin, as passed to the
dcgettext call of the gettext package.
If not supplied then the default application domain is used
(i.e. "evolution"). This is used to translate
translatable strings for display.
A short name for the plugin. "Bob's Wonder
Extender" might be suitable. This value will be
A longer description of the plugin's purpose. This value will be
This is a list of all of the hooks that this plugin wishes to
hook into. See the Plugin
Hooks section for the details of the basic hook
The hook class is resolved using the
registered hook types, and if none can be found, or a version
mismatch occurs, then the hook is silently ignored.