// Copyright 2016 Citra Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #include #include #include #include "core/file_sys/archive_backend.h" #include "core/hle/result.h" //////////////////////////////////////////////////////////////////////////////////////////////////// // FileSys namespace namespace FileSys { /// A common source of SD save data archive class ArchiveSource_SDSaveData { public: explicit ArchiveSource_SDSaveData(const std::string& mount_point); ResultVal> Open(u64 program_id); ResultCode Format(u64 program_id, const FileSys::ArchiveFormatInfo& format_info); ResultVal GetFormatInfo(u64 program_id) const; static std::string GetSaveDataPathFor(const std::string& mount_point, u64 program_id); private: std::string mount_point; ArchiveSource_SDSaveData() = default; template void serialize(Archive& ar, const unsigned int) { ar& mount_point; } friend class boost::serialization::access; }; } // namespace FileSys BOOST_CLASS_EXPORT_KEY(FileSys::ArchiveSource_SDSaveData)