diff options
Diffstat (limited to 'src/core/loader/nro.h')
-rw-r--r-- | src/core/loader/nro.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/core/loader/nro.h b/src/core/loader/nro.h index 2c03d06bb..04a0f497e 100644 --- a/src/core/loader/nro.h +++ b/src/core/loader/nro.h @@ -10,12 +10,17 @@ #include "core/loader/linker.h" #include "core/loader/loader.h" +namespace FileSys { +class NACP; +} + namespace Loader { /// Loads an NRO file class AppLoader_NRO final : public AppLoader, Linker { public: - AppLoader_NRO(FileSys::VirtualFile file); + explicit AppLoader_NRO(FileSys::VirtualFile file); + ~AppLoader_NRO() override; /** * Returns the type of the file @@ -30,8 +35,17 @@ public: ResultStatus Load(Kernel::SharedPtr<Kernel::Process>& process) override; + ResultStatus ReadIcon(std::vector<u8>& buffer) override; + ResultStatus ReadProgramId(u64& out_program_id) override; + ResultStatus ReadRomFS(FileSys::VirtualFile& dir) override; + ResultStatus ReadTitle(std::string& title) override; + private: bool LoadNro(FileSys::VirtualFile file, VAddr load_base); + + std::vector<u8> icon_data; + std::unique_ptr<FileSys::NACP> nacp; + FileSys::VirtualFile romfs; }; } // namespace Loader |