#ifndef ZIPPERARCHIVEIMPORT_HPP #define ZIPPERARCHIVEIMPORT_HPP #include #include #include #include #include "libslic3r/PrintConfig.hpp" namespace Slic3r { struct EntryBuffer { std::vector buf; std::string fname; }; struct ZipperArchive { boost::property_tree::ptree profile, config; std::vector entries; }; const constexpr char *CONFIG_FNAME = "config.ini"; const constexpr char *PROFILE_FNAME = "prusaslicer.ini"; ZipperArchive read_zipper_archive(const std::string &zipfname, const std::vector &includes, const std::vector &excludes); // Extract the print profile form the archive onto 'out'. // Returns a profile that has correct parameters to use for model reconstruction // even if the needed parameters were not fully found in the archive's metadata. // The inout argument shall be a usable fallback profile if the archive // has totally corrupted metadata. std::pair extract_profile( const ZipperArchive &arch, DynamicPrintConfig &inout); } // namespace Slic3r #endif // ZIPPERARCHIVEIMPORT_HPP