THYCrossPlatformManagedModule
Overview
The THYCrossPlatformManagedModule is a class that represents a cross-platform managed module loaded by the Hydra framework.
Location
- Unit: Hydra.Core.ManagedModule.pas
- Ancestry: THYBaseModule | THYCrossPlatformModule | THYCrossPlatformManagedModule
constructor Create (THYBaseModuleManager, string) override (declared in THYCrossPlatformModule)
Creates a new instance of the class.
constructor Create(aModuleManager: THYBaseModuleManager; aFileName: string)
Parameters:
- aModuleManager: Owner
- aFileName: Path to the plugin module file.
constructor Create (THYBaseModuleManager, string, THYClrDomain) reintroduce overload
Creates a new instance of the class.
constructor Create(aModuleManager: THYBaseModuleManager; FileName: string; const aDefaultDomain: THYClrDomain)
Parameters:
- aModuleManager: Owner
- FileName: Path to the plugin module file.
- aDefaultDomain: Defines default domain. Affects only managed plugin modules.
constructor Create (THYBaseModuleManager, string, Boolean) reintroduce overload
Creates a new instance of the class.
constructor Create(aModuleManager: THYBaseModuleManager; FileName: string; const InNewAppDomain: Boolean)
Parameters:
- aModuleManager: Owner
- FileName: Path to the plugin module file.
- InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
CreateInstance override
Creates a new instance of the plugin from Descriptor
parameter
function CreateInstance(Descriptor: THYCrossPlatformPluginDescriptor): IInterface
Parameters:
- Descriptor: Reference to a plugin descriptor.
CreateWrapper protected (declared in THYBaseModule)
Calls correspondent method in associated ModuleManager
function CreateWrapper(aPlugin: IDispatch; aDescriptor: THYPluginDescriptor): IInterface
Parameters:
- aPlugin: Cross-platform plugin instance
- aDescriptor: Plugin descriptor
CrossPlatformModuleController (declared in THYCrossPlatformModule)
Returns the interface of the current module controller.
property CrossPlatformModuleController: IHYCrossPlatformModuleController read
ErrorNotHydraModule protected (declared in THYCrossPlatformModule)
procedure ErrorNotHydraModule
FileName (declared in THYBaseModule)
Returns the file name of a loaded plugin module.
property FileName: string read
Handle (declared in THYBaseModule)
Gets the handle of the loaded plugin. Can be unavailable for some plugins.
property Handle: THandle read
IsDefined
Checks whether specified attribute is defined in the type.
function IsDefined(InType: _Type; AttributeType: _Type): Boolean
Parameters:
- InType: Reference to the managed type.
- AttributeType: Reference to the managed type of the attribute.
LoadAsUnmanagedModule protected (declared in THYCrossPlatformModule)
Allows to load specified function
procedure LoadAsUnmanagedModule(ExportFunctionName: string)
Parameters:
- ExportFunctionName: Export function name
ModuleController (declared in THYCrossPlatformModule)
Gets reference to the plugin module controller.
property ModuleController: THYSimpleModuleController read
Plugins (declared in THYCrossPlatformModule)
Gets a reference to a plugin descriptor with specified index.
property Plugins[Index: Integer]: THYCrossPlatformPluginDescriptor read
PluginsCount (declared in THYCrossPlatformModule)
Gets the number of plugins inside module.
property PluginsCount: Integer read
RegisterPlugin protected virtual (declared in THYCrossPlatformModule)
Registers a plugin descriptor in the module.
procedure RegisterPlugin(Plugin: THYCrossPlatformPluginDescriptor)
Parameters:
- Plugin: Reference to the plugin descriptor.
ReleaseModule protected override
Releases resources of the loaded module.
procedure ReleaseModule
CrossPlatformModuleController (declared in THYCrossPlatformModule)
Returns the interface of the current module controller.
property CrossPlatformModuleController: IHYCrossPlatformModuleController read
FileName (declared in THYBaseModule)
Returns the file name of a loaded plugin module.
property FileName: string read
Handle (declared in THYBaseModule)
Gets the handle of the loaded plugin. Can be unavailable for some plugins.
property Handle: THandle read
ModuleController (declared in THYCrossPlatformModule)
Gets reference to the plugin module controller.
property ModuleController: THYSimpleModuleController read
Plugins (declared in THYCrossPlatformModule)
Gets a reference to a plugin descriptor with specified index.
property Plugins[Index: Integer]: THYCrossPlatformPluginDescriptor read
PluginsCount (declared in THYCrossPlatformModule)
Gets the number of plugins inside module.
property PluginsCount: Integer read
constructor Create (THYBaseModuleManager, string) override (declared in THYCrossPlatformModule)
Creates a new instance of the class.
constructor Create(aModuleManager: THYBaseModuleManager; aFileName: string)
Parameters:
- aModuleManager: Owner
- aFileName: Path to the plugin module file.
constructor Create (THYBaseModuleManager, string, THYClrDomain) reintroduce overload
Creates a new instance of the class.
constructor Create(aModuleManager: THYBaseModuleManager; FileName: string; const aDefaultDomain: THYClrDomain)
Parameters:
- aModuleManager: Owner
- FileName: Path to the plugin module file.
- aDefaultDomain: Defines default domain. Affects only managed plugin modules.
constructor Create (THYBaseModuleManager, string, Boolean) reintroduce overload
Creates a new instance of the class.
constructor Create(aModuleManager: THYBaseModuleManager; FileName: string; const InNewAppDomain: Boolean)
Parameters:
- aModuleManager: Owner
- FileName: Path to the plugin module file.
- InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
CreateInstance override
Creates a new instance of the plugin from Descriptor
parameter
function CreateInstance(Descriptor: THYCrossPlatformPluginDescriptor): IInterface
Parameters:
- Descriptor: Reference to a plugin descriptor.
CreateWrapper protected (declared in THYBaseModule)
Calls correspondent method in associated ModuleManager
function CreateWrapper(aPlugin: IDispatch; aDescriptor: THYPluginDescriptor): IInterface
Parameters:
- aPlugin: Cross-platform plugin instance
- aDescriptor: Plugin descriptor
ErrorNotHydraModule protected (declared in THYCrossPlatformModule)
procedure ErrorNotHydraModule
IsDefined
Checks whether specified attribute is defined in the type.
function IsDefined(InType: _Type; AttributeType: _Type): Boolean
Parameters:
- InType: Reference to the managed type.
- AttributeType: Reference to the managed type of the attribute.
LoadAsUnmanagedModule protected (declared in THYCrossPlatformModule)
Allows to load specified function
procedure LoadAsUnmanagedModule(ExportFunctionName: string)
Parameters:
- ExportFunctionName: Export function name
RegisterPlugin protected virtual (declared in THYCrossPlatformModule)
Registers a plugin descriptor in the module.
procedure RegisterPlugin(Plugin: THYCrossPlatformPluginDescriptor)
Parameters:
- Plugin: Reference to the plugin descriptor.
ReleaseModule protected override
Releases resources of the loaded module.
procedure ReleaseModule