Class PluginManifest
Information about a third-party plugin
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 |
---|---|
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<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<string> |
DwcVersion
Major/minor compatible DWC version
Declaration
public string? DwcVersion { get; set; }
Property Value
Type | Description |
---|---|
string |
Homepage
Link to the plugin homepage or source code repository
Declaration
public string? Homepage { get; set; }
Property Value
Type | Description |
---|---|
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 |
---|---|
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 |
---|---|
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 |
---|---|
string |
RrfVersion
Major/minor supported RRF version (optional)
Declaration
public string? RrfVersion { get; set; }
Property Value
Type | Description |
---|---|
string |
SbcAutoRestart
Automatically restart the SBC process when terminated
Declaration
public bool SbcAutoRestart { get; set; }
Property Value
Type | Description |
---|---|
bool |
SbcConfigFiles
List of files in the sys or virtual SD directory that should not be overwritten on upgrade
Declaration
public ModelCollection<string> SbcConfigFiles { get; }
Property Value
Type | Description |
---|---|
ModelCollection<string> |
Remarks
The file may be specified either relative to 0:/sys directory (e.g. motion.conf) or relative to the virtual SD directory (e.g. sys/motion.conf). Drive indices as in 0:/sys/motion.conf are not allowed!
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 |
---|---|
string |
SbcExecutable
Filename in the dsf directory used to start the plugin
Declaration
public string? SbcExecutable { get; set; }
Property Value
Type | Description |
---|---|
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 |
---|---|
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<string> |
SbcOutputRedirected
Defines if messages from stdout/stderr are output as generic messages
Declaration
public bool SbcOutputRedirected { get; set; }
Property Value
Type | Description |
---|---|
bool |
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<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<string> |
SbcPythonDependencies
List of Python packages this plugin depends on
Declaration
public ModelCollection<string> SbcPythonDependencies { get; }
Property Value
Type | Description |
---|---|
ModelCollection<string> |
SbcRequired
Set to true if a SBC is absolutely required for this plugin
Declaration
public bool SbcRequired { get; set; }
Property Value
Type | Description |
---|---|
bool |
Tags
List of general tags for search
Declaration
public ModelCollection<string> Tags { get; }
Property Value
Type | Description |
---|---|
ModelCollection<string> |
Version
Version of the plugin
Declaration
public string Version { get; set; }
Property Value
Type | Description |
---|---|
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 |
---|---|---|
string | actual | Actual version |
string | required | Required version |
Returns
Type | Description |
---|---|
bool | Whether the actual version fulfills teh requirement |