From 3f1a3952d707bce7851652ce54701ca14334f314 Mon Sep 17 00:00:00 2001 From: Yuri Kunde Schlesner Date: Fri, 6 Feb 2015 11:53:14 -0200 Subject: FS: Allow multiple instances of the same archive type to be open at once --- src/core/file_sys/archive_extsavedata.h | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'src/core/file_sys/archive_extsavedata.h') diff --git a/src/core/file_sys/archive_extsavedata.h b/src/core/file_sys/archive_extsavedata.h index 802a11b5f..83c6b0291 100644 --- a/src/core/file_sys/archive_extsavedata.h +++ b/src/core/file_sys/archive_extsavedata.h @@ -15,9 +15,9 @@ namespace FileSys { /// File system interface to the ExtSaveData archive -class Archive_ExtSaveData final : public DiskArchive { +class ArchiveFactory_ExtSaveData final : public ArchiveFactory { public: - Archive_ExtSaveData(const std::string& mount_point, bool shared); + ArchiveFactory_ExtSaveData(const std::string& mount_point, bool shared); /** * Initialize the archive. @@ -25,21 +25,20 @@ public: */ bool Initialize(); - ResultCode Open(const Path& path) override; - ResultCode Format(const Path& path) const override; std::string GetName() const override { return "ExtSaveData"; } - const std::string& GetMountPoint() const override { - return concrete_mount_point; - } + ResultVal> Open(const Path& path) override; + ResultCode Format(const Path& path) override; -protected: + const std::string& GetMountPoint() const { return mount_point; } + +private: /** - * This holds the full directory path for this archive, it is only set after a successful call to Open, - * this is formed as ///. + * This holds the full directory path for this archive, it is only set after a successful call + * to Open, this is formed as ///. * See GetExtSaveDataPath for the code that extracts this data from an archive path. */ - std::string concrete_mount_point; + std::string mount_point; }; /** -- cgit v1.2.3