summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/archive_savedata.cpp
blob: 61f7654f7a7f243309f7f00feeba2307e6ae88be (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.

#include "core/file_sys/archive_savedata.h"
#include "core/hle/kernel/process.h"

////////////////////////////////////////////////////////////////////////////////////////////////////
// FileSys namespace

namespace FileSys {

ArchiveFactory_SaveData::ArchiveFactory_SaveData(
    std::shared_ptr<ArchiveSource_SDSaveData> sd_savedata)
    : sd_savedata_source(sd_savedata) {}

ResultVal<std::unique_ptr<ArchiveBackend>> ArchiveFactory_SaveData::Open(const Path& path) {
    return sd_savedata_source->Open(Kernel::g_current_process->codeset->program_id);
}

ResultCode ArchiveFactory_SaveData::Format(const Path& path,
                                           const FileSys::ArchiveFormatInfo& format_info) {
    return sd_savedata_source->Format(Kernel::g_current_process->codeset->program_id, format_info);
}

ResultVal<ArchiveFormatInfo> ArchiveFactory_SaveData::GetFormatInfo(const Path& path) const {
    return sd_savedata_source->GetFormatInfo(Kernel::g_current_process->codeset->program_id);
}

} // namespace FileSys