Mini SQL Query Extensibility Documentation
IPlugIn Interface
NamespacesMiniSqlQuery.CoreIPlugIn
An interface for simple plugins for use in extending Mini SQL Query. Plugins are loaded from DLL's in the working directory matching the pattern "*.PlugIn.dll"
Declaration Syntax
C#Visual BasicVisual C++
public interface IPlugIn
Public Interface IPlugIn
public interface class IPlugIn
Members
All MembersMethodsProperties



IconMemberDescription
InitializePlugIn()()()
Initializes the plug in, called after the main form is displayed.

LoadPlugIn(IApplicationServices)
Loads the plugin and stores a reference to the service container. Called at application startup time.

PluginDescription
A brief description of the plugin.

PluginName
The descriptive name of the plugin.

RequestedLoadOrder
Plugin load order. For external plugins start with values over 1000. This is a simple way of handling dependencies of other services etc.

UnloadPlugIn()()()
Called when the plugin is unloading (typically application shutdown).

Remarks

Plugins are created during the load process. After all plugins are loaded they are sorted by the RequestedLoadOrder property. Next the LoadPlugIn(IApplicationServices) method is called on each in turn supplying a reference to IApplicationServices. Next the main application form is displayed and after all control creation is complete (i.e. after the Form Shown event) a call to InitializePlugIn()()() is made for each loaded plugin. This is where ICommand instances should be created and assigned to buttons, menus etc. These services provide access to the rest of the editor. As the main form is closing down, each plugins UnloadPlugIn()()() method is called.

The PluginLoaderBase class can be used to handle the basics of a plugin class to speed development.

Assembly: MiniSqlQuery.Core (Module: MiniSqlQuery.Core) Version: 1.0.0.0 (1.0.0.0)