|
|
|
@ -7,6 +7,7 @@ |
|
|
|
#include "common/string_util.h"
|
|
|
|
#include "core/core.h"
|
|
|
|
#include "core/file_sys/directory.h"
|
|
|
|
#include "core/file_sys/errors.h"
|
|
|
|
#include "core/file_sys/filesystem.h"
|
|
|
|
#include "core/file_sys/storage.h"
|
|
|
|
#include "core/hle/ipc_helpers.h"
|
|
|
|
@ -531,12 +532,20 @@ void FSP_SRV::CreateSaveData(Kernel::HLERequestContext& ctx) { |
|
|
|
void FSP_SRV::MountSaveData(Kernel::HLERequestContext& ctx) { |
|
|
|
LOG_WARNING(Service_FS, "(STUBBED) called"); |
|
|
|
|
|
|
|
// TODO(Subv): Read the input parameters and mount the requested savedata instead of always
|
|
|
|
// mounting the current process' savedata.
|
|
|
|
FileSys::Path unused; |
|
|
|
auto filesystem = OpenFileSystem(Type::SaveData, unused).Unwrap(); |
|
|
|
auto filesystem = OpenFileSystem(Type::SaveData, unused); |
|
|
|
|
|
|
|
if (filesystem.Failed()) { |
|
|
|
IPC::ResponseBuilder rb{ctx, 2, 0, 0}; |
|
|
|
rb.Push(ResultCode(ErrorModule::FS, FileSys::ErrCodes::SaveDataNotFound)); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
IPC::ResponseBuilder rb{ctx, 2, 0, 1}; |
|
|
|
rb.Push(RESULT_SUCCESS); |
|
|
|
rb.PushIpcInterface<IFileSystem>(std::move(filesystem)); |
|
|
|
rb.PushIpcInterface<IFileSystem>(std::move(filesystem.Unwrap())); |
|
|
|
} |
|
|
|
|
|
|
|
void FSP_SRV::GetGlobalAccessLogMode(Kernel::HLERequestContext& ctx) { |
|
|
|
|