diff options
author | Subv <subv2112@gmail.com> | 2014-12-16 00:33:41 -0500 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2014-12-17 19:21:38 -0500 |
commit | ea9ce0fba776eef8f9e4f3a86e71256091732a14 (patch) | |
tree | 9e698ba00993a4aff1df4d60f9fcf3cf135ee76c /src/core/file_sys/archive_savedata.h | |
parent | e6f440ea7f4d5f8c075a5735747ef8facbb4699a (diff) |
Filesystem/Archives: Implemented the SaveData archive
The savedata for each game is stored in /savedata/<ProgramID> for NCCH files. ELF files and 3DSX files use the folder 0 because they have no ID information
Got rid of the code duplication in File and Directory
Files that deal with the host machine's file system now live in DiskFile, similarly for directories and DiskDirectory and archives with DiskArchive.
FS_U: Use the correct error code when a file wasn't found
Diffstat (limited to 'src/core/file_sys/archive_savedata.h')
-rw-r--r-- | src/core/file_sys/archive_savedata.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/core/file_sys/archive_savedata.h b/src/core/file_sys/archive_savedata.h new file mode 100644 index 00000000..b3e56113 --- /dev/null +++ b/src/core/file_sys/archive_savedata.h @@ -0,0 +1,32 @@ +// Copyright 2014 Citra Emulator Project +// Licensed under GPLv2+ +// 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 SaveData archive +class Archive_SaveData final : public DiskArchive { +public: + Archive_SaveData(const std::string& mount_point, u64 program_id); + + /** + * Initialize the archive. + * @return CreateSaveDataResult AlreadyExists if the SaveData folder already exists, + * Success if it was created properly and Failure if there was any error + */ + bool Initialize(); + + std::string GetName() const override { return "SaveData"; } +}; + +} // namespace FileSys |