aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/loader/ncch.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/loader/ncch.h')
-rw-r--r--src/core/loader/ncch.h19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/core/loader/ncch.h b/src/core/loader/ncch.h
index 29e39d2c..b4374a47 100644
--- a/src/core/loader/ncch.h
+++ b/src/core/loader/ncch.h
@@ -163,7 +163,8 @@ namespace Loader {
/// Loads an NCCH file (e.g. from a CCI, or the first NCCH in a CXI)
class AppLoader_NCCH final : public AppLoader {
public:
- AppLoader_NCCH(std::unique_ptr<FileUtil::IOFile>&& file) : AppLoader(std::move(file)) { }
+ AppLoader_NCCH(FileUtil::IOFile&& file, const std::string& filepath)
+ : AppLoader(std::move(file)), filepath(filepath) { }
/**
* Returns the type of the file
@@ -183,35 +184,35 @@ public:
* @param buffer Reference to buffer to store data
* @return ResultStatus result of function
*/
- ResultStatus ReadCode(std::vector<u8>& buffer) const override;
+ ResultStatus ReadCode(std::vector<u8>& buffer) override;
/**
* Get the icon (typically icon section) of the application
* @param buffer Reference to buffer to store data
* @return ResultStatus result of function
*/
- ResultStatus ReadIcon(std::vector<u8>& buffer) const override;
+ ResultStatus ReadIcon(std::vector<u8>& buffer) override;
/**
* Get the banner (typically banner section) of the application
* @param buffer Reference to buffer to store data
* @return ResultStatus result of function
*/
- ResultStatus ReadBanner(std::vector<u8>& buffer) const override;
+ ResultStatus ReadBanner(std::vector<u8>& buffer) override;
/**
* Get the logo (typically logo section) of the application
* @param buffer Reference to buffer to store data
* @return ResultStatus result of function
*/
- ResultStatus ReadLogo(std::vector<u8>& buffer) const override;
+ ResultStatus ReadLogo(std::vector<u8>& buffer) override;
/**
* Get the RomFS of the application
* @param buffer Reference to buffer to store data
* @return ResultStatus result of function
*/
- ResultStatus ReadRomFS(std::vector<u8>& buffer) const override;
+ ResultStatus ReadRomFS(std::shared_ptr<FileUtil::IOFile>& romfs_file, u64& offset, u64& size) override;
private:
@@ -221,13 +222,13 @@ private:
* @param buffer Vector to read data into
* @return ResultStatus result of function
*/
- ResultStatus LoadSectionExeFS(const char* name, std::vector<u8>& buffer) const;
+ ResultStatus LoadSectionExeFS(const char* name, std::vector<u8>& buffer);
/**
* Loads .code section into memory for booting
* @return ResultStatus result of function
*/
- ResultStatus LoadExec() const;
+ ResultStatus LoadExec();
bool is_compressed = false;
@@ -244,6 +245,8 @@ private:
NCCH_Header ncch_header;
ExeFs_Header exefs_header;
ExHeader_Header exheader_header;
+
+ std::string filepath;
};
} // namespace Loader