• DuetAPI
  • DuetAPIClient
  • DuetControlServer
  • DuetWebServer
Show / Hide Table of Contents
  • DuetAPI
    • CodeChannel
    • CodeParserException
    • IncompatibleVersionException
    • InternalServerException
    • InvalidParameterTypeException
    • MissingParameterException
  • DuetAPI.Commands
    • Acknowledge
    • AddHttpEndpoint
    • AddUserSession
    • BaseCommand
    • BaseResponse
    • Cancel
    • CheckPassword
    • Code
    • CodeFlags
    • CodeParameter
    • CodeParameterConverter
    • CodeParserBuffer
    • CodeType
    • Command
    • Command<T>
    • ErrorResponse
    • EvaluateExpression
    • Flush
    • GetFileInfo
    • GetObjectModel
    • HttpResponseType
    • Ignore
    • InstallPlugin
    • InstallSystemPackage
    • InvalidateChannel
    • KeywordType
    • LockObjectModel
    • PatchObjectModel
    • ReceivedHttpRequest
    • ReloadPlugin
    • RemoveHttpEndpoint
    • RemoveUserSession
    • Resolve
    • ResolvePath
    • Response<T>
    • SendHttpResponse
    • SetNetworkProtocol
    • SetObjectModel
    • SetPluginData
    • SetPluginProcess
    • SetUpdateStatus
    • SimpleCode
    • StartPlugin
    • StartPlugins
    • StopPlugin
    • StopPlugins
    • SyncObjectModel
    • UninstallPlugin
    • UninstallSystemPackage
    • UnlockObjectModel
    • WriteMessage
  • DuetAPI.Connection
    • ConnectionMode
    • Defaults
    • InterceptionMode
    • SubscriptionMode
  • DuetAPI.Connection.InitMessages
    • ClientInitMessage
    • CodeStreamInitMessage
    • CommandInitMessage
    • InterceptInitMessage
    • PluginServiceInitMessage
    • ServerInitMessage
    • SubscribeInitMessage
  • DuetAPI.ObjectModel
    • Accelerometer
    • AccessLevel
    • AnalogSensor
    • AnalogSensorType
    • AnalogSensorTypeConverter
    • Axis
    • BeepRequest
    • Board
    • BoardClosedLoop
    • BoardState
    • Build
    • BuildObject
    • CPU
    • ClosedLoopCurrentFraction
    • ClosedLoopPositionError
    • Compatibility
    • CoreKinematics
    • CurrentMove
    • DSF
    • DeltaKinematics
    • DeltaTower
    • DeserializationFailedEventArgs
    • DeserializationFailedEventHandler
    • DirectDisplay
    • DirectDisplayController
    • DirectDisplayEncoder
    • DirectDisplayScreen
    • DirectDisplayScreenST7567
    • Directories
    • DistanceUnit
    • DistanceUnitConverter
    • Driver
    • DriverClosedLoop
    • Duet3DFilamentMonitor
    • Endstop
    • EndstopType
    • Extruder
    • ExtruderNonlinear
    • Fan
    • FanThermostaticControl
    • FilamentMonitor
    • FilamentMonitorEnableMode
    • FilamentMonitorStatus
    • FilamentMonitorType
    • GCodeFileInfo
    • GCodeFileInfoConverter
    • GpInputPort
    • GpOutputPort
    • HangprinterKinematics
    • Heat
    • Heater
    • HeaterModel
    • HeaterModelPID
    • HeaterMonitor
    • HeaterMonitorAction
    • HeaterMonitorCondition
    • HeaterState
    • HttpEndpoint
    • HttpEndpointType
    • IGrowingModelCollection
    • IModelCollection
    • IModelDictionary
    • IModelObject
    • InductiveSensor
    • InputChannel
    • InputChannelState
    • InputShaping
    • InputShapingType
    • Inputs
    • Job
    • KeepoutZone
    • KeepoutZoneCoordinates
    • Kinematics
    • KinematicsName
    • KinematicsNameConverter
    • LaserFilamentMonitor
    • LaserFilamentMonitorCalibrated
    • LaserFilamentMonitorConfigured
    • Layer
    • LedStrip
    • LedStripType
    • LimitedResponseCountAttribute
    • Limits
    • LogLevel
    • MachineMode
    • MachineStatus
    • Memory
    • Message
    • MessageBox
    • MessageBoxMode
    • MessageType
    • Microstepping
    • MinMaxCurrent<T>
    • ModelCollection<T>
    • ModelDictionaryConverter
    • ModelDictionary<TValue>
    • ModelGrowingCollection<T>
    • ModelObject
    • MotorsIdleControl
    • Move
    • MoveCalibration
    • MoveCompensation
    • MoveCompensationType
    • MoveDeviations
    • MoveQueueItem
    • MoveRotation
    • MoveSegmentation
    • Network
    • NetworkInterface
    • NetworkInterfaceType
    • NetworkProtocol
    • NetworkState
    • ObjectModel
    • ObjectModelConverter
    • Plugin
    • PluginManifest
    • PolarKinematics
    • Probe
    • ProbeGrid
    • ProbeType
    • PulsedFilamentMonitor
    • PulsedFilamentMonitorCalibrated
    • PulsedFilamentMonitorConfigured
    • RestorePoint
    • RotatingMagnetFilamentMonitor
    • RotatingMagnetFilamentMonitorCalibrated
    • RotatingMagnetFilamentMonitorConfigured
    • SBC
    • SbcPropertyAttribute
    • ScaraKinematics
    • Sensors
    • SessionType
    • Skew
    • Spindle
    • SpindleState
    • StartupError
    • State
    • TemperatureError
    • ThumbnailInfo
    • ThumbnailInfoFormat
    • TiltCorrection
    • TimesLeft
    • Tool
    • ToolRetraction
    • ToolState
    • UserSession
    • Volume
    • ZLeadscrewKinematics
  • DuetAPI.Utility
    • DriverId
    • DriverIdJsonConverter
    • FileLists
    • Heightmap
    • JsonCamelCaseStringEnumConverter
    • JsonCharEnumConverter
    • JsonHelper
    • JsonLowerCaseStringEnumConverter
    • JsonOptionalShortDateTimeConverter
    • JsonPolymorphicWriteOnlyConverter<T>
    • JsonRegexListConverter
    • JsonShortDateTimeConverter
    • RequiredPermissionsAttribute
    • SbcPermissions
    • SbcPermissionsConverter
  • DuetAPIClient
    • BaseCommandConnection
    • BaseConnection
    • CodeStreamConnection
    • CommandConnection
    • HttpEndpointConnection
    • HttpEndpointUnixSocket
    • HttpEndpointUnixSocket.EndpointRequestReceived
    • InterceptConnection
    • SubscribeConnection
  • DuetControlServer
    • Program
    • Settings
  • DuetControlServer.Codes
    • ChannelProcessor
    • PipelineStage
    • Processor
  • DuetControlServer.Codes.Handlers
    • Functions
    • GCodes
    • Keywords
    • MCodes
    • TCodes
  • DuetControlServer.Codes.Pipelines
    • Executed
    • Firmware
    • PipelineBase
    • PipelineStackItem
    • Post
    • Pre
    • ProcessInternally
    • Start
  • DuetControlServer.Commands
    • AddHttpEndpoint
    • AddUserSession
    • CheckPassword
    • Code
    • EvaluateExpression
    • Flush
    • GetFileInfo
    • GetObjectModel
    • IConnectionCommand
    • InstallPlugin
    • InstallSystemPackage
    • InvalidateChannel
    • LockObjectModel
    • PatchObjectModel
    • ReloadPlugin
    • RemoveHttpEndpoint
    • RemoveUserSession
    • ResolvePath
    • SetNetworkProtocol
    • SetObjectModel
    • SetPluginData
    • SetPluginProcess
    • SetUpdateStatus
    • SimpleCode
    • StartPlugin
    • StartPlugins
    • StopPlugin
    • StopPlugins
    • SyncObjectModel
    • UninstallPlugin
    • UninstallSystemPackage
    • UnlockObjectModel
    • WriteMessage
  • DuetControlServer.Files
    • CodeBlock
    • CodeFile
    • FileDirectory
    • FilePath
    • InfoParser
    • JobProcessor
    • MacroFile
  • DuetControlServer.Files.ImageProcessing
    • IconImageParser
    • ImageParser
    • ImageProcessingException
  • DuetControlServer.IPC
    • Connection
    • LockManager
    • Server
  • DuetControlServer.IPC.Processors
    • Base
    • CodeInterception
    • CodeStream
    • Command
    • ModelSubscription
    • PluginService
  • DuetControlServer.Model
    • Expressions
    • Expressions.CustomAsyncFunctionResolver
    • Filter
    • ItemPathNode
    • Observer
    • Observer.PropertyPathChanged
    • PeriodicUpdater
    • PropertyChangeType
    • Provider
    • Updater
  • DuetControlServer.SPI
    • DataTransfer
    • EvaluateExpressionRequest
    • Interface
    • Interface.MovementLock
    • VariableRequest
  • DuetControlServer.SPI.Channel
    • LockRequest
    • Manager
    • Processor
    • State
  • DuetControlServer.SPI.Communication
    • Consts
  • DuetControlServer.SPI.Communication.FirmwareRequests
    • AbortFileHeader
    • CodeBufferUpdateHeader
    • DoCodeHeader
    • EvaluationResultHeader
    • ExecuteMacroHeader
    • FileChunkHeader
    • FileHandleHeader
    • OpenFileHeader
    • PrintPausedHeader
    • PrintPausedReason
    • ReadFileHeader
    • Request
    • SeekFileHeader
  • DuetControlServer.SPI.Communication.SbcRequests
    • AssignFilamentHeader
    • BooleanHeader
    • CodeFlags
    • CodeHeader
    • CodeParameter
    • DeleteLocalVariableHeader
    • FileChunkHeader
    • FileDataHeader
    • GetObjectModelHeader
    • MacroCompleteHeader
    • OpenFileResult
    • PrintStartedHeader
    • PrintStoppedHeader
    • Request
    • SetObjectModelHeader
    • SetVariableHeader
  • DuetControlServer.SPI.Communication.Shared
    • CodeChannelHeader
    • DataType
    • HeightMapHeader
    • MessageHeader
    • MessageTypeFlags
    • PacketHeader
    • PrintStoppedReason
    • StringHeader
    • TransferHeader
    • TransferResponse
  • DuetControlServer.SPI.Serialization
    • Reader
    • Writer
  • DuetControlServer.Utility
    • BuildDateTimeAttribute
    • CRC16
    • CRC32
    • Firmware
    • Logger
    • PriorityThreadRunner
  • DuetWebServer
    • Program
    • Settings
    • Startup
  • DuetWebServer.Authorization
    • Policies
    • SessionKeyAuthenticationHandler
    • SessionKeyAuthenticationSchemeOptions
  • DuetWebServer.Controllers
    • MachineController
    • RepRapFirmwareController
    • WebSocketController
  • DuetWebServer.FileProviders
    • DuetFileProvider
  • DuetWebServer.Middleware
    • CustomEndpointMiddleware
    • FallbackMiddleware
    • FixContentTypeMiddleware
    • HttpEndpointConnection
  • DuetWebServer.Services
    • ModelObserver
    • SessionExpiry
  • DuetWebServer.Singletons
    • IModelProvider
    • IModelProvider.WebDirectoryChanged
    • ISessionStorage
    • ModelProvider
    • SessionStorage
  • DuetWebServer.Utility
    • CRC32

Class PluginManifest

Information about a third-party plugin

Inheritance
object
ModelObject
PluginManifest
Plugin
Implements
IModelObject
ICloneable
INotifyPropertyChanged
INotifyPropertyChanging
Inherited Members
ModelObject.PropertyChanging
ModelObject.PropertyChanged
ModelObject.SetPropertyValue<T>(ref T, T, string)
ModelObject.RegisterJsonType(Type)
ModelObject.JsonProperties
ModelObject.Assign(object)
ModelObject.Clone()
ModelObject.FindDifferences(IModelObject)
ModelObject.MakeUtf8Patch(ModelObject)
ModelObject.MakeStringPatch(ModelObject)
ModelObject.UpdateFromJson(JsonElement, bool)
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
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
SetPluginData

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

Implements

IModelObject
ICloneable
INotifyPropertyChanged
INotifyPropertyChanging
In this article
Back to top Generated by DocFX