summaryrefslogtreecommitdiff
path: root/src/core/loader/nro.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/loader/nro.h')
-rw-r--r--src/core/loader/nro.h12
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
13namespace Loader { 14namespace Loader {
14 15
16struct AssetHeader;
17
15/// Loads an NRO file 18/// Loads an NRO file
16class AppLoader_NRO final : public AppLoader, Linker { 19class AppLoader_NRO final : public AppLoader, Linker {
17public: 20public:
@@ -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
33private: 41private:
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