summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/filesystem/fsp_srv.cpp38
-rw-r--r--src/core/hle/service/filesystem/fsp_srv.h1
2 files changed, 38 insertions, 1 deletions
diff --git a/src/core/hle/service/filesystem/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp_srv.cpp
index f6503fe2f..20c331b77 100644
--- a/src/core/hle/service/filesystem/fsp_srv.cpp
+++ b/src/core/hle/service/filesystem/fsp_srv.cpp
@@ -767,7 +767,7 @@ FSP_SRV::FSP_SRV(FileSystemController& fsc, const Core::Reporter& reporter)
767 {1014, nullptr, "OutputMultiProgramTagAccessLog"}, 767 {1014, nullptr, "OutputMultiProgramTagAccessLog"},
768 {1100, nullptr, "OverrideSaveDataTransferTokenSignVerificationKey"}, 768 {1100, nullptr, "OverrideSaveDataTransferTokenSignVerificationKey"},
769 {1110, nullptr, "CorruptSaveDataFileSystemBySaveDataSpaceId2"}, 769 {1110, nullptr, "CorruptSaveDataFileSystemBySaveDataSpaceId2"},
770 {1200, nullptr, "OpenMultiCommitManager"}, 770 {1200, &FSP_SRV::OpenMultiCommitManager, "OpenMultiCommitManager"},
771 {1300, nullptr, "OpenBisWiper"}, 771 {1300, nullptr, "OpenBisWiper"},
772 }; 772 };
773 // clang-format on 773 // clang-format on
@@ -988,4 +988,40 @@ void FSP_SRV::GetAccessLogVersionInfo(Kernel::HLERequestContext& ctx) {
988 rb.Push(access_log_program_index); 988 rb.Push(access_log_program_index);
989} 989}
990 990
991class IMultiCommitManager final : public ServiceFramework<IMultiCommitManager> {
992public:
993 explicit IMultiCommitManager() : ServiceFramework("IMultiCommitManager") {
994 static const FunctionInfo functions[] = {
995 {1, &IMultiCommitManager::Add, "Add"},
996 {2, &IMultiCommitManager::Commit, "Commit"},
997 };
998 RegisterHandlers(functions);
999 }
1000
1001private:
1002 FileSys::VirtualFile backend;
1003
1004 void Add(Kernel::HLERequestContext& ctx) {
1005 LOG_WARNING(Service_FS, "(STUBBED) called");
1006
1007 IPC::ResponseBuilder rb{ctx, 2};
1008 rb.Push(RESULT_SUCCESS);
1009 }
1010
1011 void Commit(Kernel::HLERequestContext& ctx) {
1012 LOG_WARNING(Service_FS, "(STUBBED) called");
1013
1014 IPC::ResponseBuilder rb{ctx, 2};
1015 rb.Push(RESULT_SUCCESS);
1016 }
1017};
1018
1019void FSP_SRV::OpenMultiCommitManager(Kernel::HLERequestContext& ctx) {
1020 LOG_DEBUG(Service_FS, "called");
1021
1022 IPC::ResponseBuilder rb{ctx, 2, 0, 1};
1023 rb.Push(RESULT_SUCCESS);
1024 rb.PushIpcInterface<IMultiCommitManager>(std::make_shared<IMultiCommitManager>());
1025}
1026
991} // namespace Service::FileSystem 1027} // namespace Service::FileSystem
diff --git a/src/core/hle/service/filesystem/fsp_srv.h b/src/core/hle/service/filesystem/fsp_srv.h
index d52b55999..dfb3e395b 100644
--- a/src/core/hle/service/filesystem/fsp_srv.h
+++ b/src/core/hle/service/filesystem/fsp_srv.h
@@ -50,6 +50,7 @@ private:
50 void OpenPatchDataStorageByCurrentProcess(Kernel::HLERequestContext& ctx); 50 void OpenPatchDataStorageByCurrentProcess(Kernel::HLERequestContext& ctx);
51 void OutputAccessLogToSdCard(Kernel::HLERequestContext& ctx); 51 void OutputAccessLogToSdCard(Kernel::HLERequestContext& ctx);
52 void GetAccessLogVersionInfo(Kernel::HLERequestContext& ctx); 52 void GetAccessLogVersionInfo(Kernel::HLERequestContext& ctx);
53 void OpenMultiCommitManager(Kernel::HLERequestContext& ctx);
53 54
54 FileSystemController& fsc; 55 FileSystemController& fsc;
55 56