diff options
author | Subv <subv2112@gmail.com> | 2014-12-29 19:04:37 +0100 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2014-12-30 04:29:55 +0100 |
commit | 2c89d4d5cd4e308b04cebb1c9bca48e12f0945da (patch) | |
tree | ea0a85e43943ba76418f27a68572e8602dbd9839 /src/core/file_sys/archive_extsavedata.h | |
parent | Merge pull request #367 from bunnei/usat_ssat (diff) | |
download | yuzu-2c89d4d5cd4e308b04cebb1c9bca48e12f0945da.tar yuzu-2c89d4d5cd4e308b04cebb1c9bca48e12f0945da.tar.gz yuzu-2c89d4d5cd4e308b04cebb1c9bca48e12f0945da.tar.bz2 yuzu-2c89d4d5cd4e308b04cebb1c9bca48e12f0945da.tar.lz yuzu-2c89d4d5cd4e308b04cebb1c9bca48e12f0945da.tar.xz yuzu-2c89d4d5cd4e308b04cebb1c9bca48e12f0945da.tar.zst yuzu-2c89d4d5cd4e308b04cebb1c9bca48e12f0945da.zip |
Diffstat (limited to 'src/core/file_sys/archive_extsavedata.h')
-rw-r--r-- | src/core/file_sys/archive_extsavedata.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/core/file_sys/archive_extsavedata.h b/src/core/file_sys/archive_extsavedata.h new file mode 100644 index 000000000..a3a144799 --- /dev/null +++ b/src/core/file_sys/archive_extsavedata.h @@ -0,0 +1,45 @@ +// Copyright 2014 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "common/common_types.h" + +#include "core/file_sys/disk_archive.h" +#include "core/loader/loader.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////// +// FileSys namespace + +namespace FileSys { + +/// File system interface to the ExtSaveData archive +class Archive_ExtSaveData final : public DiskArchive { +public: + Archive_ExtSaveData(const std::string& mount_point); + + /** + * Initialize the archive. + * @return true if it initialized successfully + */ + 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; + } + +protected: + /** + * This holds the full directory path for this archive, it is only set after a successful call to Open, + * this is formed as <base extsavedatapath>/<type>/<high>/<low>. + * See GetExtSaveDataPath for the code that extracts this data from an archive path. + */ + std::string concrete_mount_point; +}; + +} // namespace FileSys |