#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/Utils/IPrinterAgent.hpp>
Public Member Functions | |
| virtual | ~IPrinterAgent ()=default |
| virtual void | set_cloud_agent (std::shared_ptr< ICloudServiceAgent > cloud)=0 |
| virtual int | send_message (std::string dev_id, std::string json_str, int qos, int flag)=0 |
| virtual int | command_ams_refresh_rfid (std::string, int, int, int, bool) |
| virtual int | command_ams_calibrate (std::string, int, int, bool) |
| virtual int | command_ams_select_tray (std::string, std::string, int, bool) |
| virtual int | command_start_camera (std::string) |
| virtual int | command_xyz_abs (std::string dev_id, int sequence_id, bool lan_mode) |
| virtual int | command_auto_leveling (std::string dev_id, int sequence_id, bool lan_mode) |
| virtual int | command_go_home (std::string dev_id, bool is_printing, bool supports_mqtt_homing, int sequence_id, bool lan_mode) |
| virtual int | command_set_bed (std::string dev_id, int temp, bool supports_mqtt_bed_ctrl, int sequence_id, bool lan_mode) |
| virtual int | command_set_nozzle (std::string dev_id, int temp, int sequence_id, bool lan_mode) |
| virtual int | command_axis_control (std::string dev_id, std::string axis, double unit, double input_val, int speed, bool is_core_xy, bool supports_mqtt_axis_control, int sequence_id, bool lan_mode) |
| virtual std::string | default_lan_username () const |
| virtual int | connect_printer (const PrinterConnectionParams ¶ms)=0 |
| virtual int | disconnect_printer ()=0 |
| virtual int | send_message_to_printer (std::string dev_id, std::string json_str, int qos, int flag)=0 |
| virtual int | check_cert () |
| virtual void | install_device_cert (std::string dev_id, bool lan_only) |
| virtual bool | start_discovery (bool start, bool sending)=0 |
| virtual int | ping_bind (std::string ping_code) |
| virtual int | bind_detect (std::string dev_ip, std::string sec_link, detectResult &detect)=0 |
| virtual int | bind (std::string dev_ip, std::string dev_id, std::string dev_model, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) |
| virtual int | unbind (std::string dev_id) |
| virtual int | request_bind_ticket (std::string *ticket) |
| virtual int | get_hms_snapshot (std::string dev_id, std::string file_name, std::function< void(std::string, int)> callback) |
| virtual int | set_server_callback (OnServerErrFn fn)=0 |
| virtual std::string | get_user_selected_machine ()=0 |
| virtual int | set_user_selected_machine (std::string dev_id)=0 |
| virtual int | start_subscribe (std::string module) |
| virtual int | stop_subscribe (std::string module) |
| virtual int | add_subscribe (std::vector< std::string > dev_list) |
| virtual int | del_subscribe (std::vector< std::string > dev_list) |
| virtual int | start_print (PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, OnWaitFn wait_fn)=0 |
| virtual int | start_local_print_with_record (PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, OnWaitFn wait_fn)=0 |
| virtual int | start_send_gcode_to_sdcard (PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, OnWaitFn wait_fn)=0 |
| virtual int | start_local_print (PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn)=0 |
| virtual int | start_sdcard_print (PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn)=0 |
| virtual int | set_on_ssdp_msg_fn (OnMsgArrivedFn fn)=0 |
| virtual int | set_on_printer_connected_fn (OnPrinterConnectedFn fn)=0 |
| virtual int | set_on_subscribe_failure_fn (GetSubscribeFailureFn fn)=0 |
| virtual int | set_on_message_fn (OnMessageFn fn)=0 |
| virtual int | set_on_user_message_fn (OnMessageFn fn)=0 |
| virtual int | set_on_local_connect_fn (OnLocalConnectedFn fn)=0 |
| virtual int | set_on_local_message_fn (OnMessageFn fn)=0 |
| virtual int | set_queue_on_main_fn (QueueOnMainFn fn)=0 |
| virtual AgentInfo | get_agent_info ()=0 |
| virtual FilamentSyncMode | get_filament_sync_mode () const |
| virtual CameraStreamMode | get_camera_stream_mode () const |
| virtual bool | fetch_filament_info (std::string dev_id, FilamentSyncMode sync_mode=FilamentSyncMode::pull) |
| virtual std::string | to_orca_filament_id (const std::string &printer_filament_id) const |
| virtual std::string | from_orca_filament_id (const std::string &orca_filament_id) const |
| virtual std::string | get_camera_url () const |
Private Member Functions | |
| int | publish_command_json (std::string dev_id, const nlohmann::json &j, bool lan_mode) |
IPrinterAgent - Interface for printer operations.
This interface encapsulates all printer-related functionality:
Implementations:
Token Access: Printer agents receive an ICloudServiceAgent instance via set_cloud_agent() to access tokens for cloud-relay operations.
|
virtualdefault |
|
inlinevirtual |
Subscribe to push streams for specific device identifiers.
Reimplemented in Slic3r::BBLPrinterAgent.
References BAMBU_NETWORK_SUCCESS.
|
inlinevirtual |
Execute the multi-stage printer binding workflow.
Reimplemented in Slic3r::BBLPrinterAgent, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References BAMBU_NETWORK_SUCCESS.
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
pure virtual |
Perform binding detection/handshake on a LAN printer.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
inlinevirtual |
Validate current user certificates for the printer.
Reimplemented in Slic3r::BBLPrinterAgent, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References BAMBU_NETWORK_SUCCESS.
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Reimplemented in Slic3r::BBLPrinterAgent, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References ORCA_NETWORK_ERR_CMD_NOT_SUPPORTED.
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Reimplemented in Slic3r::BBLPrinterAgent, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References ORCA_NETWORK_ERR_CMD_NOT_SUPPORTED.
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Reimplemented in Slic3r::BBLPrinterAgent, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References ORCA_NETWORK_ERR_CMD_NOT_SUPPORTED.
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Reimplemented in Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References publish_command_json().
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Reimplemented in Slic3r::BBLPrinterAgent, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References publish_command_json().
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Reimplemented in Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References publish_command_json().
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Reimplemented in Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References publish_command_json().
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Reimplemented in Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References publish_command_json().
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Reimplemented in Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References ORCA_NETWORK_ERR_CMD_NOT_SUPPORTED.
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Reimplemented in Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References publish_command_json().
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
pure virtual |
Establish a direct LAN connection to a printer.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
inlinevirtual |
Default LAN account username for this agent's protocol, if it has a fixed one. Returns an empty string if the agent has no fixed default (e.g. caller must supply one).
Reimplemented in Slic3r::BBLPrinterAgent.
|
inlinevirtual |
Remove device-level subscriptions.
Reimplemented in Slic3r::BBLPrinterAgent.
References BAMBU_NETWORK_SUCCESS.
|
pure virtual |
Tear down the active LAN printer connection.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Refresh filament info from the printer synchronously. Should only be called when get_filament_sync_mode() returns FilamentSyncMode::pull. Populates the MachineObject's DevFilaSystem with fetched filament data.
Reimplemented in Slic3r::CrealityPrintAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::PyPrinterAgentPluginCapabilityTrampoline, Slic3r::QidiPrinterAgent, and Slic3r::SnapmakerPrinterAgent.
References Slic3r::pull.
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Reimplemented in Slic3r::BBLPrinterAgent.
|
pure virtual |
|
inlinevirtual |
Get the camera stream mode for this agent. This value can be deterministic and derived at runtime if the printer supports multiple camera stream modes. E.g. LAN => HTTP/HTTPS/RTSP, Cloud => WebRTC.
Reimplemented in Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References Slic3r::none.
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Get the current camera stream URL for this agent's active machine. Only meaningful when get_camera_stream_mode() returns an HTTP, HTTPS, or RTSP mode.
Reimplemented in Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Get the filament synchronization mode for this agent.
Reimplemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References Slic3r::none.
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Fetch the cloud snapshot image captured at a print failure. Returns 0 if the request was dispatched; the image body arrives via callback(body, http_status).
Reimplemented in Slic3r::BBLPrinterAgent, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Return the currently selected printer ID.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
inlinevirtual |
Install or refresh device certificate for LAN TLS.
Reimplemented in Slic3r::BBLPrinterAgent, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlinevirtual |
Ping the binding endpoint to check printer readiness.
Reimplemented in Slic3r::BBLPrinterAgent, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References BAMBU_NETWORK_SUCCESS.
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().
|
inlineprivate |
References send_message(), and send_message_to_printer().
Referenced by command_auto_leveling(), command_axis_control(), command_go_home(), command_set_bed(), command_set_nozzle(), and command_xyz_abs().
|
inlinevirtual |
Request a one-time bind ticket from the server.
Reimplemented in Slic3r::BBLPrinterAgent, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References BAMBU_NETWORK_SUCCESS.
|
pure virtual |
Publish a JSON command to a printer through cloud relay.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
Referenced by publish_command_json().
|
pure virtual |
Send a JSON command to a LAN printer (bypassing cloud).
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
Referenced by publish_command_json().
|
pure virtual |
Set the cloud agent used for token access. Must be called before any cloud-relay operations.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, and Slic3r::PrinterAgentPluginCapability.
|
pure virtual |
Register LAN connection status callback.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Register LAN message callback.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Register cloud device message callback.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Register printer MQTT connection callback.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Register SSDP discovery callback.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Register subscription failure callback.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Register user-scoped message callback.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Provide main thread queue callback.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Register callback for fatal HTTP errors.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Update the selected cloud machine preference.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Start or stop SSDP discovery.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Start a LAN-only print.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Start a local print with cloud record.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Start a fully managed cloud print.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Start a print from printer's SD card.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
pure virtual |
Upload gcode to printer's SD card without starting.
Implemented in Slic3r::BBLPrinterAgent, Slic3r::MoonrakerPrinterAgent, Slic3r::OrcaPrinterAgent, Slic3r::PrinterAgentPluginCapability, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
|
inlinevirtual |
Subscribe to a logical module (for example app- or tunnel-scoped streams).
Reimplemented in Slic3r::BBLPrinterAgent.
References BAMBU_NETWORK_SUCCESS, and Slic3r::module().
|
inlinevirtual |
Stop listening to a formerly subscribed module.
Reimplemented in Slic3r::BBLPrinterAgent.
References BAMBU_NETWORK_SUCCESS, and Slic3r::module().
|
inlinevirtual |
Translate one filament id across the printer boundary.
Orca content-addresses every system filament; a printer, its AMS and its vendor cloud know only that vendor's own catalog ids. An agent whose printers already speak Orca's ids leaves them alone, and so does an id with no mapping.
Reimplemented in Slic3r::BBLPrinterAgent.
|
inlinevirtual |
Remove the association between account and printer.
Reimplemented in Slic3r::BBLPrinterAgent, and Slic3r::PyPrinterAgentPluginCapabilityTrampoline.
References BAMBU_NETWORK_SUCCESS.
Referenced by Slic3r::PrinterAgentPluginCapability::RegisterBindings().