Class PluginInfo
Represents basic info about a plugin and contains a reference to the instance of said plugin
Implements
Namespace: Artemis.Core
Assembly: Artemis.Core.dll
Syntax
[JsonObject(MemberSerialization.OptIn)]
public class PluginInfo : CorePropertyChanged, IPrerequisitesSubject
Properties
Api
Gets the API version the plugin was built for
Declaration
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)]
[JsonConverter(typeof(ForgivingVersionConverter))]
public Version? Api { get; }
Property Value
Type | Description |
---|---|
Version |
Author
Gets or sets the author of this plugin
Declaration
[JsonProperty]
public string? Author { get; set; }
Property Value
Type | Description |
---|---|
string |
AutoEnableFeatures
Gets or sets a boolean indicating whether this plugin should automatically enable all its features when it is first loaded
Declaration
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)]
public bool AutoEnableFeatures { get; set; }
Property Value
Type | Description |
---|---|
bool |
Description
A short description of the plugin
Declaration
[JsonProperty]
public string? Description { get; set; }
Property Value
Type | Description |
---|---|
string |
Guid
The plugins GUID
Declaration
[JsonProperty(Required = Required.Always)]
public Guid Guid { get; }
Property Value
Type | Description |
---|---|
Guid |
HelpPage
Gets or sets the help page of this plugin
Declaration
[JsonProperty]
public Uri? HelpPage { get; set; }
Property Value
Type | Description |
---|---|
Uri |
HotReloadSupported
Gets or sets a boolean indicating whether hot reloading this plugin is supported
Declaration
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)]
public bool HotReloadSupported { get; set; }
Property Value
Type | Description |
---|---|
bool |
Icon
The plugins display icon that's shown in the settings see https://materialdesignicons.com for available icons
Declaration
[JsonProperty]
public string? Icon { get; set; }
Property Value
Type | Description |
---|---|
string |
IsCompatible
Gets a boolean indicating whether this plugin is compatible with the current operating system and API version
Declaration
public bool IsCompatible { get; }
Property Value
Type | Description |
---|---|
bool |
License
Gets or sets the help page of this plugin
Declaration
[JsonProperty]
public Uri? License { get; set; }
Property Value
Type | Description |
---|---|
Uri |
LicenseName
Gets or sets the author of this plugin
Declaration
[JsonProperty]
public string? LicenseName { get; set; }
Property Value
Type | Description |
---|---|
string |
Main
The main entry DLL, should contain a class implementing Plugin
Declaration
[JsonProperty(Required = Required.Always)]
public string Main { get; }
Property Value
Type | Description |
---|---|
string |
Name
The name of the plugin
Declaration
[JsonProperty(Required = Required.Always)]
public string Name { get; }
Property Value
Type | Description |
---|---|
string |
PlatformPrerequisites
Gets a list of prerequisites of the current platform for this plugin
Declaration
public IEnumerable<PluginPrerequisite> PlatformPrerequisites { get; }
Property Value
Type | Description |
---|---|
IEnumerable<PluginPrerequisite> |
Platforms
Gets
Declaration
[JsonProperty]
public PluginPlatform? Platforms { get; }
Property Value
Type | Description |
---|---|
PluginPlatform? |
Plugin
Gets the plugin this info is associated with
Declaration
public Plugin Plugin { get; }
Property Value
Type | Description |
---|---|
Plugin |
Prerequisites
Gets a list of prerequisites for this plugin
Declaration
public List<PluginPrerequisite> Prerequisites { get; }
Property Value
Type | Description |
---|---|
List<PluginPrerequisite> |
Repository
Gets or sets the repository of this plugin
Declaration
[JsonProperty]
public Uri? Repository { get; set; }
Property Value
Type | Description |
---|---|
Uri |
RequiresAdmin
Gets a boolean indicating whether this plugin requires elevated admin privileges
Declaration
[JsonProperty]
public bool RequiresAdmin { get; }
Property Value
Type | Description |
---|---|
bool |
ResolvedIcon
Gets a string representing either a full path pointing to an svg or the markdown icon
Declaration
public string? ResolvedIcon { get; }
Property Value
Type | Description |
---|---|
string |
Version
The version of the plugin
Declaration
[JsonProperty(Required = Required.Always)]
public string Version { get; }
Property Value
Type | Description |
---|---|
string |
Website
Gets or sets the website of this plugin or its author
Declaration
[JsonProperty]
public Uri? Website { get; set; }
Property Value
Type | Description |
---|---|
Uri |
Methods
ArePrerequisitesMet()
Determines whether the prerequisites of this plugin are met
Declaration
public bool ArePrerequisitesMet()
Returns
Type | Description |
---|---|
bool |
ToString()
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
string |