THYManagedPluginDescriptor

Overview

The THYManagedPluginDescriptor class provides a plugin descriptor for managed plugins. In the Hydra framework, plugin descriptors are used to store specific plugin information like name or type.

Use Case

You will not use this class directly, instead, you can use the THYPluginDescriptor to obtain information about plugins. For example:

procedure TMainForm.ShowPluginInfo(Info: THYPluginDescriptor);
begin
  lbName.Caption := Info.Name;
  lbDescription.Caption := Info.Description;
  lbVersion.Caption := Format('%d.%d',[Info.MajorVersion, Info.MinorVersion]);
  case Info.PluginType of
    ptNonVisual: lbType.Caption := 'Non-Visual plugin';
    ptVisual: lbType.Caption := 'Visual plugin';
    ptService: lbType.Caption :='Service plugin';
    ptUnknown: lbType.Caption :='Unkwown';
  end;
end;

Location


 

constructor Create  overload    (declared in THYBaseDescriptor)

Creates a new instance of the class.

constructor Create

constructor Create (THYCrossPlatformModule, _Type)    (declared in THYManagedDescriptor)

Creates a new instance of the class.

constructor Create(const aModule: THYCrossPlatformModule; const aPluginType: _Type)

Parameters:

  • aModule: Reference to a module that owns this descriptor.
  • aPluginType: Reference to a managed type of a plugin.

constructor Create (string, Integer, Integer, string, string, string)    (declared in THYPluginDescriptor)

Creates an instance of the object with specifed parameters.

constructor Create(const aName: string; aMajorVersion: Integer; aMinorVersion: Integer; const aRequiredPrivilege: string; const aDescription: string; const aUserData: string)

Parameters:

  • aName: Name of the object.
  • aMajorVersion: Major version number.
  • aMinorVersion: Minor version number.
  • aRequiredPrivilege: Plrivileges reuiqred to use this object.
  • aDescription: Description of the object.
  • aUserData: User defined data.

constructor Create (string, Integer, Integer, string, string, string, THYCrossPlatformModule)    (declared in THYCrossPlatformPluginDescriptor)

Creates a new instance of the class.

constructor Create(const aName: string; aMajorVersion: Integer; aMinorVersion: Integer; const aRequiredPrivilege: string; const aDescription: string; const aUserData: string; Module: THYCrossPlatformModule)

Parameters:

  • aName: Object name.
  • aMajorVersion: Major version of a plugin.
  • aMinorVersion: Minor version of a plugin.
  • aRequiredPrivilege: Privilege that required to use this plugin.
  • aDescription: Description of a plugin.
  • aUserData: User defined data.
  • Module: Reference to a module that owns this descriptor.

AddRef  virtual    (declared in THYPluginDescriptor)

Increments the reference count for an interface on an object.

procedure AddRef

Assign  override    (declared in THYBaseDescriptor)

Copies the properties of a source object.

procedure Assign(Source: TPersistent)

Parameters:

  • Source: Source object.

CheckPluginAttribute (_Type, Boolean): Boolean  overload    (declared in THYManagedDescriptor)

Checks whether plugin contains the specified attribute.

function CheckPluginAttribute(const aAttribute: _Type; aInherited: Boolean): Boolean

Parameters:

  • aAttribute: Type of the attribute.
  • aInherited: Defines whether plugin parent classes will be checked.

CheckPluginAttribute (string, Boolean): Boolean  overload    (declared in THYManagedDescriptor)

Checks whether plugin contains the specified attribute.

function CheckPluginAttribute(const aAttribute: string; aInherited: Boolean): Boolean

Parameters:

  • aAttribute: Type of the attribute.
  • aInherited: Defines whether plugin parent classes will be checked.

CheckPluginInterface  override    (declared in THYManagedDescriptor)

Checks whether plugin implements specified interface.

function CheckPluginInterface(const anIID: TGUID): Boolean

Parameters:

  • anIID: GUID of the inteface.

CheckPluginType  override    (declared in THYManagedDescriptor)

Checks whether plugin is inherited from specified type.

function CheckPluginType(const aType: string): WordBool

Parameters:

  • aType: Name of the type.

CreateInstance  virtual    (declared in THYCrossPlatformPluginDescriptor)

Creates plugin instance

function CreateInstance: IInterface

Description    (declared in THYBaseDescriptor)

User defined description.

property Description: string read write

InstanceCount    (declared in THYPluginDescriptor)

Stores number of active instances.

property InstanceCount: Integer read write

LargeImageIndex    (declared in THYPluginDescriptor)

Gets or sets large image index. Deprecated.

property LargeImageIndex: Integer read write

MajorVersion    (declared in THYBaseDescriptor)

Gets or sets major version number.

property MajorVersion: Integer read write

MinorVersion    (declared in THYBaseDescriptor)

Gets or sets minor version number.

property MinorVersion: Integer read write

Module    (declared in THYCrossPlatformPluginDescriptor)

Returns the module which is associated with current plugin descriptor.

property Module: THYCrossPlatformModule read

Name    (declared in THYBaseDescriptor)

Gets or sets name of an object.

property Name: string read write

PluginClass    (declared in THYManagedDescriptor)

References to the class of the plugin.

property PluginClass: _Type read

PluginType    (declared in THYPluginDescriptor)

Stores the type of the plugin.

property PluginType: THYPluginType read

Release  virtual    (declared in THYPluginDescriptor)

Decrements the reference count for an interface on an object.

procedure Release

RequiredPrivilege    (declared in THYBaseDescriptor)

Gets or sets user defined string that holds privilages that is required to use an object.

property RequiredPrivilege: string read write

SmallImageIndex    (declared in THYPluginDescriptor)

Gets or sets small image index. Deprecated.

property SmallImageIndex: Integer read write

UserData    (declared in THYBaseDescriptor)

Gets or sets string that holds user defined data.

property UserData: string read write

 

Description    (declared in THYBaseDescriptor)

User defined description.

property Description: string read write

InstanceCount    (declared in THYPluginDescriptor)

Stores number of active instances.

property InstanceCount: Integer read write

LargeImageIndex    (declared in THYPluginDescriptor)

Gets or sets large image index. Deprecated.

property LargeImageIndex: Integer read write

MajorVersion    (declared in THYBaseDescriptor)

Gets or sets major version number.

property MajorVersion: Integer read write

MinorVersion    (declared in THYBaseDescriptor)

Gets or sets minor version number.

property MinorVersion: Integer read write

Module    (declared in THYCrossPlatformPluginDescriptor)

Returns the module which is associated with current plugin descriptor.

property Module: THYCrossPlatformModule read

Name    (declared in THYBaseDescriptor)

Gets or sets name of an object.

property Name: string read write

PluginClass    (declared in THYManagedDescriptor)

References to the class of the plugin.

property PluginClass: _Type read

PluginType    (declared in THYPluginDescriptor)

Stores the type of the plugin.

property PluginType: THYPluginType read

RequiredPrivilege    (declared in THYBaseDescriptor)

Gets or sets user defined string that holds privilages that is required to use an object.

property RequiredPrivilege: string read write

SmallImageIndex    (declared in THYPluginDescriptor)

Gets or sets small image index. Deprecated.

property SmallImageIndex: Integer read write

UserData    (declared in THYBaseDescriptor)

Gets or sets string that holds user defined data.

property UserData: string read write

 

constructor Create  overload    (declared in THYBaseDescriptor)

Creates a new instance of the class.

constructor Create

constructor Create (THYCrossPlatformModule, _Type)    (declared in THYManagedDescriptor)

Creates a new instance of the class.

constructor Create(const aModule: THYCrossPlatformModule; const aPluginType: _Type)

Parameters:

  • aModule: Reference to a module that owns this descriptor.
  • aPluginType: Reference to a managed type of a plugin.

constructor Create (string, Integer, Integer, string, string, string)    (declared in THYPluginDescriptor)

Creates an instance of the object with specifed parameters.

constructor Create(const aName: string; aMajorVersion: Integer; aMinorVersion: Integer; const aRequiredPrivilege: string; const aDescription: string; const aUserData: string)

Parameters:

  • aName: Name of the object.
  • aMajorVersion: Major version number.
  • aMinorVersion: Minor version number.
  • aRequiredPrivilege: Plrivileges reuiqred to use this object.
  • aDescription: Description of the object.
  • aUserData: User defined data.

constructor Create (string, Integer, Integer, string, string, string, THYCrossPlatformModule)    (declared in THYCrossPlatformPluginDescriptor)

Creates a new instance of the class.

constructor Create(const aName: string; aMajorVersion: Integer; aMinorVersion: Integer; const aRequiredPrivilege: string; const aDescription: string; const aUserData: string; Module: THYCrossPlatformModule)

Parameters:

  • aName: Object name.
  • aMajorVersion: Major version of a plugin.
  • aMinorVersion: Minor version of a plugin.
  • aRequiredPrivilege: Privilege that required to use this plugin.
  • aDescription: Description of a plugin.
  • aUserData: User defined data.
  • Module: Reference to a module that owns this descriptor.

AddRef  virtual    (declared in THYPluginDescriptor)

Increments the reference count for an interface on an object.

procedure AddRef

Assign  override    (declared in THYBaseDescriptor)

Copies the properties of a source object.

procedure Assign(Source: TPersistent)

Parameters:

  • Source: Source object.

CheckPluginAttribute (_Type, Boolean): Boolean  overload    (declared in THYManagedDescriptor)

Checks whether plugin contains the specified attribute.

function CheckPluginAttribute(const aAttribute: _Type; aInherited: Boolean): Boolean

Parameters:

  • aAttribute: Type of the attribute.
  • aInherited: Defines whether plugin parent classes will be checked.

CheckPluginAttribute (string, Boolean): Boolean  overload    (declared in THYManagedDescriptor)

Checks whether plugin contains the specified attribute.

function CheckPluginAttribute(const aAttribute: string; aInherited: Boolean): Boolean

Parameters:

  • aAttribute: Type of the attribute.
  • aInherited: Defines whether plugin parent classes will be checked.

CheckPluginInterface  override    (declared in THYManagedDescriptor)

Checks whether plugin implements specified interface.

function CheckPluginInterface(const anIID: TGUID): Boolean

Parameters:

  • anIID: GUID of the inteface.

CheckPluginType  override    (declared in THYManagedDescriptor)

Checks whether plugin is inherited from specified type.

function CheckPluginType(const aType: string): WordBool

Parameters:

  • aType: Name of the type.

CreateInstance  virtual    (declared in THYCrossPlatformPluginDescriptor)

Creates plugin instance

function CreateInstance: IInterface

Release  virtual    (declared in THYPluginDescriptor)

Decrements the reference count for an interface on an object.

procedure Release