summaryrefslogtreecommitdiff
path: root/src/core/loader/nro.h
diff options
context:
space:
mode:
authorZach Hilman <DarkLordZach@users.noreply.github.com>2018-07-06 10:51:32 -0400
committerbunnei <bunneidev@gmail.com>2018-07-06 10:51:32 -0400
commit77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2 (patch)
tree38ef6451732c5eecb0efdd198f3db4d33848453c /src/core/loader/nro.h
parent51bd76a5fda00b0ad9c6791193a15d83dfbadac3 (diff)
Virtual Filesystem (#597)
* Add VfsFile and VfsDirectory classes * Finish abstract Vfs classes * Implement RealVfsFile (computer fs backend) * Finish RealVfsFile and RealVfsDirectory * Finished OffsetVfsFile * More changes * Fix import paths * Major refactor * Remove double const * Use experimental/filesystem or filesystem depending on compiler * Port partition_filesystem * More changes * More Overhaul * FSP_SRV fixes * Fixes and testing * Try to get filesystem to compile * Filesystem on linux * Remove std::filesystem and document/test * Compile fixes * Missing include * Bug fixes * Fixes * Rename v_file and v_dir * clang-format fix * Rename NGLOG_* to LOG_* * Most review changes * Fix TODO * Guess 'main' to be Directory by filename
Diffstat (limited to 'src/core/loader/nro.h')
-rw-r--r--src/core/loader/nro.h13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/core/loader/nro.h b/src/core/loader/nro.h
index 599adb253..2c03d06bb 100644
--- a/src/core/loader/nro.h
+++ b/src/core/loader/nro.h
@@ -15,26 +15,23 @@ namespace Loader {
/// Loads an NRO file
class AppLoader_NRO final : public AppLoader, Linker {
public:
- AppLoader_NRO(FileUtil::IOFile&& file, std::string filepath);
+ AppLoader_NRO(FileSys::VirtualFile file);
/**
* Returns the type of the file
- * @param file FileUtil::IOFile open file
- * @param filepath Path of the file that we are opening.
+ * @param file std::shared_ptr<VfsFile> open file
* @return FileType found, or FileType::Error if this loader doesn't know it
*/
- static FileType IdentifyType(FileUtil::IOFile& file, const std::string& filepath);
+ static FileType IdentifyType(const FileSys::VirtualFile& file);
FileType GetFileType() override {
- return IdentifyType(file, filepath);
+ return IdentifyType(file);
}
ResultStatus Load(Kernel::SharedPtr<Kernel::Process>& process) override;
private:
- bool LoadNro(const std::string& path, VAddr load_base);
-
- std::string filepath;
+ bool LoadNro(FileSys::VirtualFile file, VAddr load_base);
};
} // namespace Loader