#pragma once #include "types.h" #include "NacpProcess.h" #include "RomfsProcess.h" #include namespace nstool { class AssetProcess { public: AssetProcess(); void process(); void setInputFile(const std::shared_ptr& file); void setCliOutputMode(CliOutputMode type); void setVerifyMode(bool verify); void setIconExtractPath(const tc::io::Path& path); void setNacpExtractPath(const tc::io::Path& path); void setRomfsShowFsTree(bool show_fs_tree); void setRomfsExtractJobs(const std::vector& extract_jobs); private: std::string mModuleName; std::shared_ptr mFile; CliOutputMode mCliOutputMode; bool mVerify; tc::Optional mIconExtractPath; tc::Optional mNacpExtractPath; nn::hac::AssetHeader mHdr; NacpProcess mNacp; RomfsProcess mRomfs; void importHeader(); void processSections(); void displayHeader(); }; }