event EventHandler<PluginUnloadEventArgs> PluginUnloadEvent
This event is raised when a plugin is requesting to be unloaded. This is a self-request by the plugin and not when the plugin is unloaded by its manager.


string Name { get; }
Gets the name of the plugin. Used as the key in a name-value collection by a PluginManager. This implies that any Plugin loaded by an instance of a PluginManager must return a unique Name value or it will be assumed to already be loaded.


void Initialize();
This method is called by default when a Plugin is loaded by a PluginManager. It is expected that all initialization logic is encapsulated in this method. This should not "Run" the plugin, but strictly perform any setup required for the plugin - e.g., initialize member variables or access configuration data.

void Run(IDictionary<string, object> arguments);
Executes the plugin, providing a dictionary of arguments for the plugin. In plugin development it is generally expected that the plugin has an idea of what it might be receiving in terms of arguments; the contract by the host to its expected plugins. This generalizes the principle so that a dictionary of elements is passed to multiple plugins in a routine without the host knowing exactly what each plugin does or necessarily will act upon in the dictionary.

void Uninitialize();
Uninitializes the plugin. This method should zero out and release everything that is being held by the Plugin.

Last edited Mar 19, 2013 at 3:59 PM by jsaundea, version 8


No comments yet.