From aa880e34a70cf71964c42fe14ed5578eeea47e88 Mon Sep 17 00:00:00 2001 From: "chunmao.guo" Date: Tue, 3 Jan 2023 11:58:01 +0800 Subject: [PATCH] ENH: detect printer uses ssl for local connection Change-Id: I6131bf5ed1f6d44f0bd761ad6bc3a492ba4945b7 (cherry picked from commit c68d48ecf290e5abd37a97654c5b1f7779f061e2) --- src/slic3r/GUI/DeviceManager.cpp | 5 +++++ src/slic3r/GUI/DeviceManager.hpp | 1 + src/slic3r/GUI/Jobs/PrintJob.cpp | 1 + src/slic3r/GUI/Jobs/PrintJob.hpp | 1 + src/slic3r/GUI/Jobs/SendJob.cpp | 1 + src/slic3r/GUI/Jobs/SendJob.hpp | 1 + src/slic3r/GUI/SelectMachine.cpp | 3 ++- src/slic3r/GUI/SendToPrinter.cpp | 1 + 8 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 07c73bcbf..2cbe0c3e5 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -1284,6 +1284,11 @@ void MachineObject::parse_version_func() is_support_ai_monitoring = true; is_support_ams_humidity = true; } + if (ota_version->second.sw_ver.compare("01.03.00.00") <= 0) { + local_use_ssl = false; + } else { + local_use_ssl = true; + } } } } diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index d72f1b43f..54654bc26 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -380,6 +380,7 @@ public: std::string dev_name; std::string dev_ip; std::string dev_id; + bool local_use_ssl { false }; std::string access_code; std::string dev_connection_type; /* lan | cloud */ std::string connection_type() { return dev_connection_type; } diff --git a/src/slic3r/GUI/Jobs/PrintJob.cpp b/src/slic3r/GUI/Jobs/PrintJob.cpp index eceb338e3..a989023a1 100644 --- a/src/slic3r/GUI/Jobs/PrintJob.cpp +++ b/src/slic3r/GUI/Jobs/PrintJob.cpp @@ -164,6 +164,7 @@ void PrintJob::process() // local print access params.dev_ip = m_dev_ip; + params.use_ssl = m_local_use_ssl; params.username = "bblp"; params.password = m_access_code; wxString error_text; diff --git a/src/slic3r/GUI/Jobs/PrintJob.hpp b/src/slic3r/GUI/Jobs/PrintJob.hpp index 13c8d749a..91ce76de9 100644 --- a/src/slic3r/GUI/Jobs/PrintJob.hpp +++ b/src/slic3r/GUI/Jobs/PrintJob.hpp @@ -39,6 +39,7 @@ public: std::string m_project_name; std::string m_dev_ip; + bool m_local_use_ssl { true }; std::string m_access_code; std::string task_bed_type; bool task_bed_leveling; diff --git a/src/slic3r/GUI/Jobs/SendJob.cpp b/src/slic3r/GUI/Jobs/SendJob.cpp index bd16ec0c9..92c47de5b 100644 --- a/src/slic3r/GUI/Jobs/SendJob.cpp +++ b/src/slic3r/GUI/Jobs/SendJob.cpp @@ -163,6 +163,7 @@ void SendJob::process() params.dev_ip = m_dev_ip; params.username = "bblp"; params.password = m_access_code; + params.use_ssl = m_local_use_ssl; wxString error_text; wxString msg_text; diff --git a/src/slic3r/GUI/Jobs/SendJob.hpp b/src/slic3r/GUI/Jobs/SendJob.hpp index 2866c94ae..ad94e237f 100644 --- a/src/slic3r/GUI/Jobs/SendJob.hpp +++ b/src/slic3r/GUI/Jobs/SendJob.hpp @@ -34,6 +34,7 @@ public: std::string m_project_name; std::string m_dev_ip; std::string m_access_code; + bool m_local_use_ssl{false}; std::string task_bed_type; std::string task_ams_mapping; std::string connection_type; diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index 831a9c0c8..baa79b0cb 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -2130,7 +2130,8 @@ void SelectMachineDialog::on_ok() m_print_job = std::make_shared(m_status_bar, m_plater, m_printer_last_select); m_print_job->m_dev_ip = obj_->dev_ip; - m_print_job->m_access_code = obj_->access_code; + m_print_job->m_access_code = obj_->access_code; + m_print_job->m_local_use_ssl = obj_->local_use_ssl; m_print_job->connection_type = obj_->connection_type(); m_print_job->set_project_name(m_current_project_name.utf8_string()); diff --git a/src/slic3r/GUI/SendToPrinter.cpp b/src/slic3r/GUI/SendToPrinter.cpp index 137b6779a..fbb31cb43 100644 --- a/src/slic3r/GUI/SendToPrinter.cpp +++ b/src/slic3r/GUI/SendToPrinter.cpp @@ -648,6 +648,7 @@ void SendToPrinterDialog::on_ok(wxCommandEvent &event) m_send_job = std::make_shared(m_status_bar, m_plater, m_printer_last_select); m_send_job->m_dev_ip = obj_->dev_ip; m_send_job->m_access_code = obj_->access_code; + m_send_job->m_local_use_ssl = obj_->local_use_ssl; m_send_job->connection_type = obj_->connection_type(); m_send_job->cloud_print_only = true; m_send_job->has_sdcard = obj_->has_sdcard();