NonVisualPluginAttribute

Overview

The PluginAttribute class is a custom plugin attirubute that defines a non-visual plugin. Hydra uses this attribute to locate plugins within assembly and to get access to meta-data. Every Hydra plugin must have a set of attributes to allow host application properly detect kind of a plugin.

Use Case

You can use this class to associate user-defined information, such as name of the plugin, description and some user data to the target non-visual plugin (NonVisualPlugin).

  [NonVisualPlugin(Name := "SamplePlugin", Description := "This is sample plugin", UserData := "Data")]
  public class Plugin1  = class(NonVisualPlugin)
  [..]

Location

Properties


Description    (declared in PluginAttribute)

User defined description of a plugin.

 

property Description: String read write;

 

String Description { get; set; }

 

var Description: String { get{} set{} }

 

Property Description() As String

MajorVersion    (declared in PluginAttribute)

Major version of a plugin.

 

property MajorVersion: Int32 read write;

 

Int32 MajorVersion { get; set; }

 

var MajorVersion: Int32 { get{} set{} }

 

Property MajorVersion() As Int32

MinorVersion    (declared in PluginAttribute)

Minor version of a plugin.

 

property MinorVersion: Int32 read write;

 

Int32 MinorVersion { get; set; }

 

var MinorVersion: Int32 { get{} set{} }

 

Property MinorVersion() As Int32

Name    (declared in PluginAttribute)

Gets or sets the name of the plugin.

 

property Name: String read write;

 

String Name { get; set; }

 

var Name: String { get{} set{} }

 

Property Name() As String

RequiredPrivilege    (declared in PluginAttribute)

User defined list of privileges that is required to create an instance of a plugin.

 

property RequiredPrivilege: String read write;

 

String RequiredPrivilege { get; set; }

 

var RequiredPrivilege: String { get{} set{} }

 

Property RequiredPrivilege() As String

UserData    (declared in PluginAttribute)

Gets or sets the user data.

 

property UserData: String read write;

 

String UserData { get; set; }

 

var UserData: String { get{} set{} }

 

Property UserData() As String