summaryrefslogtreecommitdiffstats
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.h16
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