#include "OrcaPrinterAgent.hpp" #include "NetworkAgentFactory.hpp" namespace Slic3r { const std::string OrcaPrinterAgent_VERSION = "0.0.1"; OrcaPrinterAgent::OrcaPrinterAgent(std::string log_dir) : log_dir(std::move(log_dir)) { } OrcaPrinterAgent::~OrcaPrinterAgent() = default; void OrcaPrinterAgent::set_cloud_agent(std::shared_ptr cloud) { std::lock_guard lock(state_mutex); m_cloud_agent = cloud; } // ============================================================================ // Communication - All Stubs // ============================================================================ int OrcaPrinterAgent::send_message(std::string dev_id, std::string json_str, int qos, int flag) { return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::connect_printer(std::string dev_id, std::string dev_ip, std::string username, std::string password, bool use_ssl) { return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::disconnect_printer() { return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::send_message_to_printer(std::string dev_id, std::string json_str, int qos, int flag) { return BAMBU_NETWORK_SUCCESS; } // ============================================================================ // Certificates - All Stubs // ============================================================================ int OrcaPrinterAgent::check_cert() { return BAMBU_NETWORK_SUCCESS; } void OrcaPrinterAgent::install_device_cert(std::string dev_id, bool lan_only) { } // ============================================================================ // Discovery - Stub // ============================================================================ bool OrcaPrinterAgent::start_discovery(bool start, bool sending) { return true; } // ============================================================================ // Binding - All Stubs // ============================================================================ int OrcaPrinterAgent::ping_bind(std::string ping_code) { return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::bind_detect(std::string dev_ip, std::string sec_link, detectResult& detect) { return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::bind( std::string dev_ip, std::string dev_id, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) { return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::unbind(std::string dev_id) { return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::request_bind_ticket(std::string* ticket) { if (ticket) *ticket = ""; return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::set_server_callback(OnServerErrFn fn) { std::lock_guard lock(state_mutex); on_server_err_fn = fn; return BAMBU_NETWORK_SUCCESS; } // ============================================================================ // Machine Selection // ============================================================================ std::string OrcaPrinterAgent::get_user_selected_machine() { std::lock_guard lock(state_mutex); return selected_machine; } int OrcaPrinterAgent::set_user_selected_machine(std::string dev_id) { std::lock_guard lock(state_mutex); selected_machine = dev_id; return BAMBU_NETWORK_SUCCESS; } // ============================================================================ // Agent Information // ============================================================================ AgentInfo OrcaPrinterAgent::get_agent_info_static() { return AgentInfo{ORCA_PRINTER_AGENT_ID, "Orca", OrcaPrinterAgent_VERSION, "Orca Printer Communication Protocol Agent"}; } // ============================================================================ // Print Job Operations - All Stubs // ============================================================================ int OrcaPrinterAgent::start_print(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, OnWaitFn wait_fn) { return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::start_local_print_with_record(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, OnWaitFn wait_fn) { return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::start_send_gcode_to_sdcard(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, OnWaitFn wait_fn) { return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::start_local_print(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn) { return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::start_sdcard_print(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn) { return BAMBU_NETWORK_SUCCESS; } // ============================================================================ // Callback Registration // ============================================================================ int OrcaPrinterAgent::set_on_ssdp_msg_fn(OnMsgArrivedFn fn) { std::lock_guard lock(state_mutex); on_ssdp_msg_fn = fn; return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::set_on_printer_connected_fn(OnPrinterConnectedFn fn) { std::lock_guard lock(state_mutex); on_printer_connected_fn = fn; return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::set_on_subscribe_failure_fn(GetSubscribeFailureFn fn) { std::lock_guard lock(state_mutex); on_subscribe_failure_fn = fn; return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::set_on_message_fn(OnMessageFn fn) { std::lock_guard lock(state_mutex); on_message_fn = fn; return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::set_on_user_message_fn(OnMessageFn fn) { std::lock_guard lock(state_mutex); on_user_message_fn = fn; return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::set_on_local_connect_fn(OnLocalConnectedFn fn) { std::lock_guard lock(state_mutex); on_local_connect_fn = fn; return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::set_on_local_message_fn(OnMessageFn fn) { std::lock_guard lock(state_mutex); on_local_message_fn = fn; return BAMBU_NETWORK_SUCCESS; } int OrcaPrinterAgent::set_queue_on_main_fn(QueueOnMainFn fn) { std::lock_guard lock(state_mutex); queue_on_main_fn = fn; return BAMBU_NETWORK_SUCCESS; } } // namespace Slic3r