Tip
This attribute can be omitted if IPluginSingleton is never implemented in the plug-in assembly.
| ComponentInfo | Implementation of IComponentInfo which can be retrieved from assembly metadata or filled with arbitrary values. |
| DefaultPluginAssemblyComparer | Provides the default order of plug-in related instances. |
| DefaultPluginSingletonAttribute | Marks any implementation of IPlugin which does not have a related explicit implementation of IPluginSingleton so it depends on the default implementation of IPluginSingleton instead. |
| PluginComponentInfo | Base class of the plug-in metadata classes which implement IComponentInfo. |
| PluginStorageKey | Type of key for IPluginStorage. |
| IComponentInfo | Describes a high level application component or an assembly. |
| IPlugin | Base interface for the main class of any SMath Studio plug-in. Instances of classes which implement IPlugin are created via IPluginSingleton and stored in ISessionProfile.Plugins. |
| IPluginAppContext | Application-specific information which is passed as argument to any method of IPluginSingleton. |
| IPluginAssembly | Describes the main plug-in assembly which is loaded into memory. |
| IPluginContext | Session-specific information which is passed as argument to any method of IPlugin and of all interfaces derived from it. |
| IPluginModule | Contains public information about a loaded plug-in. Extends IPluginAssembly by information about the actual state of the plug-in which may be changed during the lifetime of the application. |
| IPluginSingleton | Interface for static initialization of SMath Studio plug-in. When the plug-in is being loaded, a singleton instance of any class which implements IPluginSingleton is created by means of CreateInstance(Type), initialized via Initialize(IPluginAppContext) and stored within the instance of IAppEnv. Instances of IPlugin are constructed later via methods of IPluginSingleton during initialization of any ISessionProfile instance. |
| IPluginStorage | Provides access to the storage of plug-in specific application-wide mutable data. Data which belong to the current plug-in can be modified, data belonging to the other plug-ins are read only. |
| IPluginSyncT | Provides synchronized access to a resource of type T. |
| PluginSyncHandlerT, TResult | Type of handler which is used in IPluginSyncT. |
| PluginState | State of the plug-in. Any PluginState value can be saved to the plug-in configuration file. Plug-ins having Removed value in configuration file are ignored when the program is being loaded. The following state transitions are supported for in-memory plug-in objects:
|