Table of Contents

Class PluginInfo

Namespace
Artemis.Core
Assembly
Artemis.Core.dll

Represents basic info about a plugin and contains a reference to the instance of said plugin

public class PluginInfo : IPrerequisitesSubject
Inheritance
object
PluginInfo
Implements

Properties

Author

Gets or sets the author of this plugin

[JsonInclude]
public string? Author { get; }

Property Value

string

Description

A short description of the plugin

[JsonInclude]
public string? Description { get; }

Property Value

string

Guid

The plugins GUID

[JsonRequired]
[JsonInclude]
public Guid Guid { get; }

Property Value

Guid

HelpPage

Gets or sets the help page of this plugin

[JsonInclude]
public Uri? HelpPage { get; }

Property Value

Uri

HotReloadSupported

Gets or sets a boolean indicating whether hot reloading this plugin is supported

[JsonInclude]
public bool HotReloadSupported { get; }

Property Value

bool

Icon

The plugins display icon that's shown in the settings see https://materialdesignicons.com for available icons

[JsonInclude]
public string? Icon { get; }

Property Value

string

IsCompatible

Gets a boolean indicating whether this plugin is compatible with the current operating system and API version

[JsonIgnore]
public bool IsCompatible { get; }

Property Value

bool

License

Gets or sets the help page of this plugin

[JsonInclude]
public Uri? License { get; }

Property Value

Uri

LicenseName

Gets or sets the author of this plugin

[JsonInclude]
public string? LicenseName { get; }

Property Value

string

LoadException

Gets the exception thrown while loading

[JsonIgnore]
public Exception? LoadException { get; }

Property Value

Exception

Main

The main entry DLL, should contain a class implementing Plugin

[JsonRequired]
[JsonInclude]
public string Main { get; }

Property Value

string

MinimumVersion

Gets the minimum version of Artemis required by this plugin

[JsonInclude]
public Version? MinimumVersion { get; }

Property Value

Version

Name

The name of the plugin

[JsonRequired]
[JsonInclude]
public string Name { get; }

Property Value

string

PlatformPrerequisites

Gets a list of prerequisites of the current platform for this plugin

[JsonIgnore]
public IEnumerable<PluginPrerequisite> PlatformPrerequisites { get; }

Property Value

IEnumerable<PluginPrerequisite>

Platforms

Gets

[JsonInclude]
public PluginPlatform? Platforms { get; }

Property Value

PluginPlatform?

Plugin

Gets the plugin this info is associated with

[JsonIgnore]
public Plugin? Plugin { get; }

Property Value

Plugin

Prerequisites

Gets a list of prerequisites for this plugin

[JsonIgnore]
public List<PluginPrerequisite> Prerequisites { get; }

Property Value

List<PluginPrerequisite>

Repository

Gets or sets the repository of this plugin

[JsonInclude]
public Uri? Repository { get; }

Property Value

Uri

RequiresAdmin

Gets a boolean indicating whether this plugin requires elevated admin privileges

[JsonInclude]
public bool RequiresAdmin { get; }

Property Value

bool

ResolvedIcon

Gets a string representing either a full path pointing to an svg or the markdown icon

[JsonIgnore]
public string? ResolvedIcon { get; }

Property Value

string

Version

The version of the plugin

[JsonRequired]
[JsonInclude]
public string Version { get; }

Property Value

string

Website

Gets or sets the website of this plugin or its author

[JsonInclude]
public Uri? Website { get; }

Property Value

Uri

Methods

ArePrerequisitesMet()

Determines whether the prerequisites of this plugin are met

public bool ArePrerequisitesMet()

Returns

bool

MatchesSearch(string)

Returns a boolean indicating whether this plugin info matches the provided search string

public bool MatchesSearch(string search)

Parameters

search string

The search string to match

Returns

bool

A boolean indicating whether this plugin info matches the provided search string

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.