diff options
author | condut <> | 2015-07-10 00:55:23 +0300 |
---|---|---|
committer | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2015-07-13 19:57:12 -0300 |
commit | c385b7767d32eccabbfeaa12764310cfc3d113b9 (patch) | |
tree | 1868679b3e7c30c05eb76d5e1f09fd01c86e3e65 /src/core/loader/ncch.h | |
parent | ecdfd0643a02ab9855f5674fee7475a7c15a0085 (diff) |
FS: Stream RomFS from file instead of loading all of it to memory
Diffstat (limited to 'src/core/loader/ncch.h')
-rw-r--r-- | src/core/loader/ncch.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/loader/ncch.h b/src/core/loader/ncch.h index 29e39d2c0..d180e77ed 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(std::unique_ptr<FileUtil::IOFile>&& file, const std::string& filepath) + : AppLoader(std::move(file)), filepath(filepath) { } /** * Returns the type of the file @@ -211,7 +212,7 @@ public: * @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) const override; private: @@ -244,6 +245,8 @@ private: NCCH_Header ncch_header; ExeFs_Header exefs_header; ExHeader_Header exheader_header; + + std::string filepath; }; } // namespace Loader |