Class PluginManifest
- Namespace
- DuetAPI.ObjectModel
- Assembly
- DuetAPI.dll
Information about a third-party plugin
public class PluginManifest : ModelObject, INotifyPropertyChanging, IStaticModelObject, IModelObject, ICloneable, INotifyPropertyChanged
- Inheritance
-
PluginManifest
- Implements
- Derived
- Inherited Members
Constructors
PluginManifest()
public PluginManifest()
Properties
Author
Author of the plugin
public string Author { get; set; }
Property Value
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!
public JsonModelDictionary Data { get; }
Property Value
- See Also
DwcDependencies
List of DWC plugins this plugin depends on. Circular dependencies are not supported
public ObservableCollection<string> DwcDependencies { get; }
Property Value
DwcVersion
Major/minor compatible DWC version
public string? DwcVersion { get; set; }
Property Value
Homepage
Link to the plugin homepage or source code repository
public string? Homepage { get; set; }
Property Value
Id
Identifier of this plugin. May consist of letters and digits only (max length 32 chars)
public string Id { get; set; }
Property Value
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/)
public string License { get; set; }
Property Value
Name
Name of the plugin. May consist of letters, digits, dashes, and underscores only (max length 64 chars)
public string Name { get; set; }
Property Value
RrfVersion
Major/minor supported RRF version (optional)
public string? RrfVersion { get; set; }
Property Value
SbcAutoRestart
Automatically restart the SBC process when terminated
public bool SbcAutoRestart { get; set; }
Property Value
SbcConfigFiles
List of files in the sys or virtual SD directory that should not be overwritten on upgrade
public ObservableCollection<string> SbcConfigFiles { get; }
Property Value
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)
public string? SbcDsfVersion { get; set; }
Property Value
SbcExecutable
Filename in the dsf directory used to start the plugin
public string? SbcExecutable { get; set; }
Property Value
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
public string? SbcExecutableArguments { get; set; }
Property Value
SbcExtraExecutables
List of other filenames in the dsf directory that should be executable
public ObservableCollection<string> SbcExtraExecutables { get; }
Property Value
SbcNotifyStarted
Plugin notifies DSF when it is fully started
public bool SbcNotifyStarted { get; set; }
Property Value
SbcOutputRedirected
Defines if messages from stdout/stderr are output as generic messages
public bool SbcOutputRedirected { get; set; }
Property Value
SbcPackageDependencies
List of packages this plugin depends on (apt packages in the case of DuetPi)
public ObservableCollection<string> SbcPackageDependencies { get; }
Property Value
SbcPermissions
List of permissions required by the plugin executable running on the SBC
public SbcPermissions SbcPermissions { get; set; }
Property Value
SbcPluginDependencies
List of SBC plugins this plugin depends on. Circular dependencies are not supported
public ObservableCollection<string> SbcPluginDependencies { get; }
Property Value
SbcPythonDependencies
List of Python packages this plugin depends on
public ObservableCollection<string> SbcPythonDependencies { get; }
Property Value
SbcRequired
Set to true if a SBC is absolutely required for this plugin
public bool SbcRequired { get; set; }
Property Value
Tags
List of general tags for search
public ObservableCollection<string> Tags { get; }
Property Value
Version
Version of the plugin
public string Version { get; set; }
Property Value
Methods
Assign(IStaticModelObject)
Assign the properties from another instance. This is required to update model properties which do not have a setter
public virtual void Assign(IStaticModelObject from)
Parameters
fromIStaticModelObjectOther instance
CheckVersion(string, string)
Check if the given version satisfies a required version
public static bool CheckVersion(string actual, string required)
Parameters
Returns
- bool
Whether the actual version fulfills teh requirement
Clone()
Clone this instance
public virtual object Clone()
Returns
- object
Cloned instance
Remarks
This method is auto-generated
UpdateFromJson(JsonElement, bool)
Update this instance from a given JSON element
public virtual void UpdateFromJson(JsonElement jsonElement, bool ignoreSbcProperties)
Parameters
jsonElementJsonElementElement to update this intance from
ignoreSbcPropertiesboolWhether SBC properties are ignored
Remarks
This method is auto-generated
Exceptions
- JsonException
Failed to deserialize data
UpdateFromJsonReader(ref Utf8JsonReader, bool)
Update this instance from a given JSON element
public virtual void UpdateFromJsonReader(ref Utf8JsonReader reader, bool ignoreSbcProperties)
Parameters
readerUtf8JsonReaderReader to update this intance from
ignoreSbcPropertiesboolWhether SBC properties are ignored
Remarks
This method is auto-generated
Exceptions
- JsonException
Failed to deserialize data