Namespace Sdl.Core.PluginFramework
Classes
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.
DefaultObjectResolver
Default object resolver for plugin framework
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.
InitializePluginCompletedEventArgs
Events argument class for plug-in initialization completion events (InitializePluginCompleted), raised during calls to InitializePluginAsync(IEnumerable<IPlugin>).
InitializePluginProgressChangedEventArgs
Events argument class for plug-in initialization progress events (InitializePluginProgressChanged), raised during calls to InitializePluginAsync(IEnumerable<IPlugin>).
InvalidSdlAssemblyReference
ObjectFactory
Helper class for dynamically creating objects.
ObjectRegistry<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
Event args providing initialization results for a number of plug-ins. See EnsurePluginsInitialized(IEnumerable<IExtension>, EventHandler<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).
ValidatingSystemPluginLocator
This class is an extension 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
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.
IObjectResolver
Will provide an implementation that will be used to create objects based on the plugin manifest file
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.
IPluginFilter
Provides control over whether certain plug-ins or individual extensions are loaded.
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.
IValidatingPluginLocator
Enums
ExtensionPointBehavior
Possible extension point types.
PluginStatus
Represents the status of a plug-in.
SdlAssemblyReferenceError
Types of validation error that occur when validating SDL assembly references in third party plug-ins.
Delegates
PluginInitializedCallback
Callback delegate for the InitializePluginAsync(IEnumerable<IPlugin>) call.