summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/archive_romfs.cpp
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2015-02-06 14:53:14 +0100
committerYuri Kunde Schlesner <yuriks@yuriks.net>2015-02-10 16:43:44 +0100
commit3f1a3952d707bce7851652ce54701ca14334f314 (patch)
tree04c79ff9887f0074813276cdf989e6814901e943 /src/core/file_sys/archive_romfs.cpp
parentFS: Get rid of completely useless Archive class (diff)
downloadyuzu-3f1a3952d707bce7851652ce54701ca14334f314.tar
yuzu-3f1a3952d707bce7851652ce54701ca14334f314.tar.gz
yuzu-3f1a3952d707bce7851652ce54701ca14334f314.tar.bz2
yuzu-3f1a3952d707bce7851652ce54701ca14334f314.tar.lz
yuzu-3f1a3952d707bce7851652ce54701ca14334f314.tar.xz
yuzu-3f1a3952d707bce7851652ce54701ca14334f314.tar.zst
yuzu-3f1a3952d707bce7851652ce54701ca14334f314.zip
Diffstat (limited to 'src/core/file_sys/archive_romfs.cpp')
-rw-r--r--src/core/file_sys/archive_romfs.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/core/file_sys/archive_romfs.cpp b/src/core/file_sys/archive_romfs.cpp
index a30f73d0e..bf54a3866 100644
--- a/src/core/file_sys/archive_romfs.cpp
+++ b/src/core/file_sys/archive_romfs.cpp
@@ -15,11 +15,24 @@
namespace FileSys {
-Archive_RomFS::Archive_RomFS(const Loader::AppLoader& app_loader) {
+ArchiveFactory_RomFS::ArchiveFactory_RomFS(const Loader::AppLoader& app_loader)
+ : romfs_data(std::make_shared<std::vector<u8>>()) {
// Load the RomFS from the app
- if (Loader::ResultStatus::Success != app_loader.ReadRomFS(raw_data)) {
+ if (Loader::ResultStatus::Success != app_loader.ReadRomFS(*romfs_data)) {
LOG_ERROR(Service_FS, "Unable to read RomFS!");
}
}
+ResultVal<std::unique_ptr<ArchiveBackend>> ArchiveFactory_RomFS::Open(const Path& path) {
+ auto archive = Common::make_unique<IVFCArchive>(romfs_data);
+ return MakeResult<std::unique_ptr<ArchiveBackend>>(std::move(archive));
+}
+
+ResultCode ArchiveFactory_RomFS::Format(const Path& path) {
+ LOG_ERROR(Service_FS, "Attempted to format a RomFS archive.");
+ // TODO: Verify error code
+ return ResultCode(ErrorDescription::NotAuthorized, ErrorModule::FS,
+ ErrorSummary::NotSupported, ErrorLevel::Permanent);
+}
+
} // namespace FileSys