Namespace DuetAPI.Commands
Classes
- Acknowledge
Acknowledge a (partial) model update.
- AddHttpEndpoint
Register a new HTTP endpoint via DuetWebServer. This will create a new HTTP endpoint under /machine/{Namespace}/{EndpointPath}. Returns a path to the UNIX socket which DuetWebServer will connect to whenever a matching HTTP request is received. A plugin using this command has to open a new UNIX socket with the given path that DuetWebServer can connect to
- AddUserSession
Register a new user session. Returns the ID of the new user session
- BaseCommand
Base class of a command. When an instance of this class is processed in the control server, the connection identifier of the channel it was received from is assigned.
- BaseResponse
Base class for every response to a command request. An instance of this is returned when a regular Command has finished.
- Cancel
Cancel a code in InterceptionMode
- CheckPassword
Check if the given password is correct and matches the previously set value from M551. If no password was configured before or if it was set to "reprap", this will always return true
- Code
A parsed representation of a generic G/M/T-code
- CodeParameter
Represents a parsed parameter of a G/M/T-code Initial parsing is done whenever a code is processed
- CodeParameterConverter
Converts a CodeParameter instance to JSON
- CodeParserBuffer
Internal buffer for reading asynchronously from files
- CodeTypeConverter
Converter class for CodeType
- Command
Base class of commands that do not return a result
- CommandContext
Context for JSON handling of IPC commands
- Command<T>
Base class of a command that returns a result
- ErrorResponse
Response indicating a runtime exception during the internal processing of a command
- EvaluateExpression
Evaluate an arbitrary expression on the given channel
- Flush
Wait for all pending (macro) codes on the given channel to finish. This effectively guarantees that all buffered codes are processed by RRF before this command finishes. If the flush request is successful, true is returned
- GetFileInfo
Analyse a G-code file and return an instance of GCodeFileInfo when ready
- GetObjectModel
Query the current object model
- Ignore
Ignore the code to intercept and allow it to be processed without any modifications
- InstallPlugin
Install or upgrade a plugin
- InstallSystemPackage
Install or upgrade a system package
- InvalidateChannel
Invalidate all pending codes and files on a given channel (including buffered codes from DSF in RepRapFirmware)
- LockObjectModel
Lock the object model for read/write access. This may be used to update the machine model and to change array items
- NotifyPluginStarted
May be used by third-party plugins to flag when they have fully started
- PatchObjectModel
Apply a full patch to the object model. May be used only in non-SPI mode
- QueryObjectModel
Query the object model using a key and flags, returning a formatted JSON response compatible with the M409 response format without going through the code execution pipeline
- ReceivedHttpRequest
Notification sent by the webserver when a new HTTP request is received
- ReloadPlugin
Reload the manifest of a given plugin. Useful for packaged plugins
- RemoveHttpEndpoint
Remove an existing HTTP endpoint. Returns true if the endpoint could be successfully removed
- RemoveUserSession
Remove an existing user session
- Resolve
Resolve the code to intercept and return the given message details for its completion.
- ResolvePath
Resolve a RepRapFirmware-style path to an actual file path
- ResolvePluginProcess
Command asking the plugin service which plugin owns a given process ID. Used by DCS to close the TOCTOU window between process start and the object model being updated with the new PID. Reserved for internal purposes, do not use
- Response<T>
Response of a Command<T>
- Rewrite
Rewrite the code being intercepted. This can be used to modify the code before it is executed.
- SendHttpResponse
Send a response to a received HTTP request
- SetNetworkProtocol
Flag a given network protocol as enabled or disabled
- SetObjectModel
Set an atomic property in the machine model. Make sure to acquire the read/write lock first! Returns true if the field could be updated
- SetPluginData
Update custom plugin data in the object model
- SetPluginProcess
Command to update the process identifier of a given plugin. Reserved for internal purposes, do not use
- SetUpdateStatus
Override the current status as reported by the object model when performing a software update
- SimpleCode
Perform a simple G/M/T-code
- StartPlugin
Start a plugin
- StartPlugins
Start all the previously started plugins again
- StopPlugin
Stop a plugin
- StopPlugins
Stop all the plugins and save which plugins were started before. This command is intended for shutdown or update requests
- SyncObjectModel
Wait for the machine model to be fully updated from RepRapFirmware
- UninstallPlugin
Uninstall a plugin
- UninstallSystemPackage
Uninstall a system package
- UnlockObjectModel
Unlock the machine model after obtaining read/write access. This is mandatory after LockObjectModel has been invoked
- WriteMessage
Write an arbitrary generic message
Enums
- CodeFlags
Code bits to classify G/M/T-codes
- CodeType
Type of a generic G/M/T-code
- FileDirectory
Base file directory for lookups
- HttpResponseType
Enumeration of supported HTTP responses
- KeywordType
Enumeration of conditional G-code keywords