This namespace contains the majority of the plug-in framework classes and interfaces. This includes the following: The plug-in framework object model, which allows host applications to discover and instantiate extensions. The entry point for this is the PluginManager class.Support for developing extension points. See ExtensionAttribute.

Classes

  ClassDescription
AuxiliaryExtensionAttribute
Base class for auxiliary extension attributes, defining additional information that can be specified for an extension point, together with an extension attribute (see ExtensionAttribute).
AuxiliaryExtensionAttributeCollection
Read-only collection of extension info attributes.
DefaultPluginLocator
Implementation of a plug-in locator (IPluginLocator) which loads locates plug-ins within a directory on the local file system and an OpenExchange directory that contains sub-folders with individual plug-ins.
DefaultPluginTypeLoader
Implementation of a plug-in type loader (IPluginTypeLoader) which attempts to load types using GetType()()(), assuming the plug-in assembly is available in one of the default assembly locations.
ExtensionAttribute
Base class extension attributes, defining extension points.
ExtensionCollection
Read-only collection of extensions.
ExtensionEventArgs
Event arguments class for extenion-related events.
ExtensionPointCollection
Read-only collection of extension points.
ExtensionPointInfoAttribute
Attribute for identifying an extension point attribute definition.
FileBasedPluginDescriptor
Plug-in descriptor which loads the plug-in manifest and the plug-in's resources from files on the local file system.
FileBasedThirdPartyPluginDescriptor
Plug-in descriptor which loads the plug-in manifest and the plug-in's resources from files on the local file system.
InitializePluginCompletedEventArgs
Events argument class for plug-in initialization completion events (InitializePluginCompleted), raised during calls to InitializePluginAsync(IEnumerable<(Of <(IPlugin>)>)).
InitializePluginProgressChangedEventArgs
Events argument class for plug-in initialization progress events (InitializePluginProgressChanged), raised during calls to InitializePluginAsync(IEnumerable<(Of <(IPlugin>)>)).
ObjectRegistry<(Of <(TExtensionAttribute, TExtensionType>)>)
Helper class for implementers of extension points, which allows easy instantiation of all extensions registered with an extension point identified by a specific type of extension attribute.
PluginAttribute
Assembly-level attribute that indicates that an assembly contains extension definitions.
PluginCollection
Read-only collection of plug-ins (IPlugin).
PluginFrameworkException
Exception class for exceptions related to the plugin registry.
PluginId
Unique identity of a plug-in. The id of a plug-in is the name of the plug-in assembly.
PluginInitializationResult
Provides result information from plug-in initialization.
PluginInitializationResultsEventArgs
PluginLoadExceptionEventArgs
EventArgs class for the PluginLoadException event.
PluginManager
Main entry point to the plug-in framework.
PluginResourceAttribute
Attribute for annotation extension attribute string properties to indicate that the value of the property should be retrieved from the plug-in resources file of the plug-in in which the extension is defined.
PluginState
Captures the state of a plug-in, which can be saved into a plugin cache (see IPluginCache).
ValidatingPluginLocator
This class is an extensiton to an existing IPluginLocator interface and allows installed third party plugins to be validated against their .sdlplugin packages and it's embedded signature.
XmlPluginCache
Default implementation of the plug-in cache interface (see IPluginCache) that stores plug-in state into an xml file.

Interfaces

  InterfaceDescription
IExtension
Represents an extension registered with a particular extension point within a particular plug-in.
IExtensionAware
This interface can be implemented by extension types that want to know about the extension meta-data associated with the type.
IExtensionPoint
Represents an extension point, defined by an extension attribute (see ExtensionAttribute), annotated by an ExtensionPointInfoAttribute.
IPlugin
Represents a plug-in, which provides a number of extensions.
IPluginCache
Represents a plug-in cache, which is used to store plug-in state.
IPluginDescriptor
Represents a plug-in descriptor, which gives access to a plug-in manifest and corresponding resources.
IPluginInitializer
Component that is used by a plug-in registry (IPluginRegistry) to initailize plug-ins. This component ensures that the plug-in is ready to be used; i.e. its extensions are ready to be instantiated.
IPluginLocator
Represents a plug-in locator, which is used by a plug-in registry to locate plug-ins.
IPluginRegistry
This interface provides the main entry point for working with plug-ins and extensions.
IPluginStateHandler
Represents an object that determines whether the user can enable or disable certain plug-ins. This is typically used in a user interface that allows plug-in management.
IPluginTypeLoader
Component that is used by the IPluginRegistry to load types that are referred to in plug-in manifests.
IThirdPartyPluginDescriptor
Represents a third-party plug-in descriptor, which gives access to a seperate third-party plug-in manifest.

Delegates

  DelegateDescription
PluginInitializedCallback

Enumerations

  EnumerationDescription
ExtensionPointBehavior
Possible extension point types.
PluginStatus
Represents the status of a plug-in.