diff options
Diffstat (limited to 'src/core/loader/nro.h')
| -rw-r--r-- | src/core/loader/nro.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/core/loader/nro.h b/src/core/loader/nro.h index 2c03d06bb..5f3fc40d2 100644 --- a/src/core/loader/nro.h +++ b/src/core/loader/nro.h | |||
| @@ -6,12 +6,15 @@ | |||
| 6 | 6 | ||
| 7 | #include <string> | 7 | #include <string> |
| 8 | #include "common/common_types.h" | 8 | #include "common/common_types.h" |
| 9 | #include "core/file_sys/control_metadata.h" | ||
| 9 | #include "core/hle/kernel/kernel.h" | 10 | #include "core/hle/kernel/kernel.h" |
| 10 | #include "core/loader/linker.h" | 11 | #include "core/loader/linker.h" |
| 11 | #include "core/loader/loader.h" | 12 | #include "core/loader/loader.h" |
| 12 | 13 | ||
| 13 | namespace Loader { | 14 | namespace Loader { |
| 14 | 15 | ||
| 16 | struct AssetHeader; | ||
| 17 | |||
| 15 | /// Loads an NRO file | 18 | /// Loads an NRO file |
| 16 | class AppLoader_NRO final : public AppLoader, Linker { | 19 | class AppLoader_NRO final : public AppLoader, Linker { |
| 17 | public: | 20 | public: |
| @@ -30,8 +33,17 @@ public: | |||
| 30 | 33 | ||
| 31 | ResultStatus Load(Kernel::SharedPtr<Kernel::Process>& process) override; | 34 | ResultStatus Load(Kernel::SharedPtr<Kernel::Process>& process) override; |
| 32 | 35 | ||
| 36 | ResultStatus ReadIcon(std::vector<u8>& buffer) override; | ||
| 37 | ResultStatus ReadProgramId(u64& out_program_id) override; | ||
| 38 | ResultStatus ReadRomFS(FileSys::VirtualFile& dir) override; | ||
| 39 | ResultStatus ReadTitle(std::string& title) override; | ||
| 40 | |||
| 33 | private: | 41 | private: |
| 34 | bool LoadNro(FileSys::VirtualFile file, VAddr load_base); | 42 | bool LoadNro(FileSys::VirtualFile file, VAddr load_base); |
| 43 | |||
| 44 | std::vector<u8> icon_data; | ||
| 45 | std::unique_ptr<FileSys::NACP> nacp; | ||
| 46 | FileSys::VirtualFile romfs; | ||
| 35 | }; | 47 | }; |
| 36 | 48 | ||
| 37 | } // namespace Loader | 49 | } // namespace Loader |