#pragma once #include "MoonrakerPrinterAgent.hpp" #include namespace Slic3r { class SnapmakerPrinterAgent final : public MoonrakerPrinterAgent { public: explicit SnapmakerPrinterAgent(std::string log_dir); ~SnapmakerPrinterAgent() override = default; static AgentInfo get_agent_info_static(); AgentInfo get_agent_info() override { return get_agent_info_static(); } bool fetch_filament_info(std::string dev_id) override; private: // Combine filament_type + filament_sub_type into a unified type string static std::string combine_filament_type(const std::string& type, const std::string& sub_type); }; } // namespace Slic3r