THYCrossPlatformManagedModule

Overview

The THYCrossPlatformManagedModule is a class that represents a cross-platform managed module loaded by the Hydra framework.

Location

 

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