From 82684b1d2072439b6718b783354c4415a0730460 Mon Sep 17 00:00:00 2001 From: "hu.wang" Date: Mon, 16 Oct 2023 15:45:23 +0800 Subject: [PATCH] NEW:Add request access code function from printer JIRA: 4690 Change-Id: I18657629b714823fa5691901c5807bdaccf56000 --- src/slic3r/GUI/DeviceManager.cpp | 23 ++++++++++++++++++++++- src/slic3r/GUI/DeviceManager.hpp | 2 ++ src/slic3r/GUI/GUI_App.cpp | 2 ++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index d1d834fecd..8777cdac98 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -1461,6 +1461,16 @@ int MachineObject::command_get_version(bool with_retry) return this->publish_json(j.dump(), 1); } +int MachineObject::command_get_access_code() { + BOOST_LOG_TRIVIAL(info) << "command_get_access_code"; + json j; + j["system"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++); + j["system"]["command"] = "get_access_code"; + + return this->publish_json(j.dump()); +} + + int MachineObject::command_request_push_all(bool request_now) { auto curr_time = std::chrono::system_clock::now(); @@ -2677,7 +2687,18 @@ int MachineObject::parse_json(std::string payload) } } } - + if (j_pre.contains("system")) { + if (j_pre["system"].contains("command")) { + if (j_pre["system"]["command"].get() == "get_access_code") { + if (j_pre["system"].contains("access_code")) { + std::string access_code = j_pre["system"]["access_code"].get(); + if (!access_code.empty()) { + set_access_code(access_code); + } + } + } + } + } if (!restored_json) { j = j_pre; } diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index e2cf64f006..08e934734a 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -791,6 +791,8 @@ public: int command_pushing(std::string cmd); int command_clean_print_error(std::string task_id, int print_error); int command_set_printer_nozzle(std::string nozzle_type, float diameter); + int command_get_access_code(); + /* command upgrade */ int command_upgrade_confirm(); diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index b6177a5397..590123a887 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -1878,6 +1878,8 @@ void GUI_App::init_networking_callbacks() obj->is_tunnel_mqtt = tunnel; obj->command_request_push_all(true); obj->command_get_version(); + obj->erase_user_access_code(); + obj->command_get_access_code(); GUI::wxGetApp().sidebar().load_ams_list(obj->dev_id, obj); } });