#ifndef SendJOB_HPP #define SendJOB_HPP #include #include #include "Job.hpp" #include "PrintJob.hpp" namespace fs = boost::filesystem; namespace Slic3r { namespace GUI { class Plater; typedef std::function OnUpdateStatusFn; typedef std::function WasCancelledFn; class SendJob : public Job { PrintPrepareData job_data; std::string m_dev_id; bool m_job_finished{ false }; int m_print_job_completed_id = 0; bool m_is_check_mode{false}; bool m_check_and_continue{false}; std::function m_success_fun{nullptr}; std::function m_enter_ip_address_fun_fail{nullptr}; std::function m_enter_ip_address_fun_success{nullptr}; Plater *m_plater; public: void prepare(); SendJob(std::string dev_id = ""); std::string m_project_name; std::string m_dev_ip; std::string m_access_code; std::string task_bed_type; std::string task_ams_mapping; std::string connection_type; bool m_local_use_ssl_for_ftp{true}; bool m_local_use_ssl_for_mqtt{true}; bool cloud_print_only { false }; bool has_sdcard { false }; bool task_use_ams { true }; wxWindow* m_parent{nullptr}; int status_range() const { return 100; } wxString get_http_error_msg(unsigned int status, std::string body); void set_check_mode() {m_is_check_mode = true;}; void check_and_continue() {m_check_and_continue = true;}; bool is_finished() { return m_job_finished; } void process(Ctl &ctl) override; void on_success(std::function success); void on_check_ip_address_fail(std::function func); void on_check_ip_address_success(std::function func); void finalize(bool canceled, std::exception_ptr &) override; void set_project_name(std::string name); }; }} #endif