summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/archive_other_savedata.h
diff options
context:
space:
mode:
authorwwylele <wwylele@gmail.com>2016-11-28 23:52:11 +0100
committerwwylele <wwylele@gmail.com>2016-11-29 22:50:00 +0100
commit589b6427909dfc7a4b5ee1a64cb86d38d459b0f3 (patch)
treeb6ad186dd5d10ef0aa5db9153962a1c18060f417 /src/core/file_sys/archive_other_savedata.h
parentFS: add missing MediaType (diff)
downloadyuzu-589b6427909dfc7a4b5ee1a64cb86d38d459b0f3.tar
yuzu-589b6427909dfc7a4b5ee1a64cb86d38d459b0f3.tar.gz
yuzu-589b6427909dfc7a4b5ee1a64cb86d38d459b0f3.tar.bz2
yuzu-589b6427909dfc7a4b5ee1a64cb86d38d459b0f3.tar.lz
yuzu-589b6427909dfc7a4b5ee1a64cb86d38d459b0f3.tar.xz
yuzu-589b6427909dfc7a4b5ee1a64cb86d38d459b0f3.tar.zst
yuzu-589b6427909dfc7a4b5ee1a64cb86d38d459b0f3.zip
Diffstat (limited to 'src/core/file_sys/archive_other_savedata.h')
-rw-r--r--src/core/file_sys/archive_other_savedata.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/core/file_sys/archive_other_savedata.h b/src/core/file_sys/archive_other_savedata.h
new file mode 100644
index 000000000..d80725158
--- /dev/null
+++ b/src/core/file_sys/archive_other_savedata.h
@@ -0,0 +1,52 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "core/file_sys/archive_source_sd_savedata.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// FileSys namespace
+
+namespace FileSys {
+
+/// File system interface to the OtherSaveDataPermitted archive
+class ArchiveFactory_OtherSaveDataPermitted final : public ArchiveFactory {
+public:
+ explicit ArchiveFactory_OtherSaveDataPermitted(
+ std::shared_ptr<ArchiveSource_SDSaveData> sd_savedata_source);
+
+ std::string GetName() const override {
+ return "OtherSaveDataPermitted";
+ }
+
+ ResultVal<std::unique_ptr<ArchiveBackend>> Open(const Path& path) override;
+ ResultCode Format(const Path& path, const FileSys::ArchiveFormatInfo& format_info) override;
+ ResultVal<ArchiveFormatInfo> GetFormatInfo(const Path& path) const override;
+
+private:
+ std::string mount_point;
+ std::shared_ptr<ArchiveSource_SDSaveData> sd_savedata_source;
+};
+
+/// File system interface to the OtherSaveDataGeneral archive
+class ArchiveFactory_OtherSaveDataGeneral final : public ArchiveFactory {
+public:
+ explicit ArchiveFactory_OtherSaveDataGeneral(
+ std::shared_ptr<ArchiveSource_SDSaveData> sd_savedata_source);
+
+ std::string GetName() const override {
+ return "OtherSaveDataGeneral";
+ }
+
+ ResultVal<std::unique_ptr<ArchiveBackend>> Open(const Path& path) override;
+ ResultCode Format(const Path& path, const FileSys::ArchiveFormatInfo& format_info) override;
+ ResultVal<ArchiveFormatInfo> GetFormatInfo(const Path& path) const override;
+
+private:
+ std::string mount_point;
+ std::shared_ptr<ArchiveSource_SDSaveData> sd_savedata_source;
+};
+
+} // namespace FileSys