Class PluginManifest
Information about a third-party plugin
Implements
Inherited Members
Namespace: DuetAPI.ObjectModel
Assembly: DuetAPI.dll
Syntax
public class PluginManifest : ModelObject, IModelObject, ICloneable, INotifyPropertyChanged, INotifyPropertyChanging
Properties
Author
Author of the plugin
Declaration
public string Author { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Data
Custom plugin data to be populated in the object model (DSF/DWC in SBC mode - or - DWC in standalone mode). Before SetPluginData can be used, corresponding properties must be registered via this property first!
Declaration
public ModelDictionary<JsonElement> Data { get; }
Property Value
Type | Description |
---|---|
ModelDictionary<System.Text.Json.JsonElement> |
See Also
DwcDependencies
List of DWC plugins this plugin depends on. Circular dependencies are not supported
Declaration
public ModelCollection<string> DwcDependencies { get; }
Property Value
Type | Description |
---|---|
ModelCollection<System.String> |
DwcVersion
Major/minor compatible DWC version
Declaration
public string DwcVersion { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Homepage
Link to the plugin homepage or source code repository
Declaration
public string Homepage { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Id
Identifier of this plugin. May consist of letters and digits only (max length 32 chars)
Declaration
public string Id { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
For plugins with DWC components, this is the Webpack chunk name too
License
License of the plugin. Should follow the SPDX format (see https://spdx.org/licenses/)
Declaration
public string License { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Name
Name of the plugin. May consist of letters, digits, dashes, and underscores only (max length 64 chars)
Declaration
public string Name { get; set; }
Property Value
Type | Description |
---|---|
System.String |
RrfVersion
Major/minor supported RRF version (optional)
Declaration
public string RrfVersion { get; set; }
Property Value
Type | Description |
---|---|
System.String |
SbcDsfVersion
Required DSF version for the plugin running on the SBC (ignored if there is no SBC executable)
Declaration
public string SbcDsfVersion { get; set; }
Property Value
Type | Description |
---|---|
System.String |
SbcExecutable
Filename in the dsf directory used to start the plugin
Declaration
public string SbcExecutable { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
A plugin may provide different binaries in subdirectories per architecture. Supported architectures are: arm, arm64, x86, x86_64
SbcExecutableArguments
Command-line arguments for the executable
Declaration
public string SbcExecutableArguments { get; set; }
Property Value
Type | Description |
---|---|
System.String |
SbcExtraExecutables
List of other filenames in the dsf directory that should be executable
Declaration
public ModelCollection<string> SbcExtraExecutables { get; }
Property Value
Type | Description |
---|---|
ModelCollection<System.String> |
SbcOutputRedirected
Defines if messages from stdout/stderr are output as generic messages
Declaration
public bool SbcOutputRedirected { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
SbcPackageDependencies
List of packages this plugin depends on (apt packages in the case of DuetPi)
Declaration
public ModelCollection<string> SbcPackageDependencies { get; }
Property Value
Type | Description |
---|---|
ModelCollection<System.String> |
SbcPermissions
List of permissions required by the plugin executable running on the SBC
Declaration
public SbcPermissions SbcPermissions { get; set; }
Property Value
Type | Description |
---|---|
SbcPermissions |
SbcPluginDependencies
List of SBC plugins this plugin depends on. Circular dependencies are not supported
Declaration
public ModelCollection<string> SbcPluginDependencies { get; }
Property Value
Type | Description |
---|---|
ModelCollection<System.String> |
SbcPythonDependencies
List of Python packages this plugin depends on
Declaration
public ModelCollection<string> SbcPythonDependencies { get; }
Property Value
Type | Description |
---|---|
ModelCollection<System.String> |
SbcRequired
Set to true if a SBC is absolutely required for this plugin
Declaration
public bool SbcRequired { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Tags
List of general tags for search
Declaration
public ModelCollection<string> Tags { get; }
Property Value
Type | Description |
---|---|
ModelCollection<System.String> |
Version
Version of the plugin
Declaration
public string Version { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Methods
CheckVersion(String, String)
Check if the given version satisfies a required version
Declaration
public static bool CheckVersion(string actual, string required)
Parameters
Type | Name | Description |
---|---|---|
System.String | actual | Actual version |
System.String | required | Required version |
Returns
Type | Description |
---|---|
System.Boolean | Whether the actual version fulfills teh requirement |