diff options
author | Liam <byteslice@airmail.cc> | 2024-02-22 01:47:38 +0100 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2024-02-22 01:47:54 +0100 |
commit | a8bca2429299dbc436b8c167107580a9e4697cb6 (patch) | |
tree | 3179304a9041bfbef0f93fc36aefb3b1dcaa519a | |
parent | olsc: add IDaemonController (diff) | |
download | yuzu-a8bca2429299dbc436b8c167107580a9e4697cb6.tar yuzu-a8bca2429299dbc436b8c167107580a9e4697cb6.tar.gz yuzu-a8bca2429299dbc436b8c167107580a9e4697cb6.tar.bz2 yuzu-a8bca2429299dbc436b8c167107580a9e4697cb6.tar.lz yuzu-a8bca2429299dbc436b8c167107580a9e4697cb6.tar.xz yuzu-a8bca2429299dbc436b8c167107580a9e4697cb6.tar.zst yuzu-a8bca2429299dbc436b8c167107580a9e4697cb6.zip |
-rw-r--r-- | src/core/hle/service/olsc/remote_storage_controller.cpp | 54 | ||||
-rw-r--r-- | src/core/hle/service/olsc/remote_storage_controller.h | 19 |
2 files changed, 73 insertions, 0 deletions
diff --git a/src/core/hle/service/olsc/remote_storage_controller.cpp b/src/core/hle/service/olsc/remote_storage_controller.cpp new file mode 100644 index 000000000..81d9c96ab --- /dev/null +++ b/src/core/hle/service/olsc/remote_storage_controller.cpp @@ -0,0 +1,54 @@ +// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "core/hle/service/cmif_serialization.h" +#include "core/hle/service/olsc/remote_storage_controller.h" + +namespace Service::OLSC { + +IRemoteStorageController::IRemoteStorageController(Core::System& system_) + : ServiceFramework{system_, "IRemoteStorageController"} { + // clang-format off + static const FunctionInfo functions[] = { + {0, nullptr, "GetSaveDataArchiveInfoBySaveDataId"}, + {1, nullptr, "GetSaveDataArchiveInfoByApplicationId"}, + {3, nullptr, "GetSaveDataArchiveCount"}, + {6, nullptr, "CleanupSaveDataArchives"}, + {7, nullptr, "CreateSaveDataArchiveCacheUpdationTask"}, + {8, nullptr, "CreateSaveDataArchiveCacheUpdationForSpecifiedApplicationTask"}, + {9, nullptr, "Delete"}, + {10, nullptr, "GetSeriesInfo"}, + {11, nullptr, "CreateDeleteDataTask"}, + {12, nullptr, "DeleteSeriesInfo"}, + {13, nullptr, "CreateRegisterNotificationTokenTask"}, + {14, nullptr, "UpdateSeriesInfo"}, + {15, nullptr, "RegisterUploadSaveDataTransferTaskForAutonomyRegistration"}, + {16, nullptr, "CreateCleanupToDeleteSaveDataArchiveInfoTask"}, + {17, nullptr, "ListDataInfo"}, + {18, nullptr, "GetDataInfo"}, + {19, nullptr, "Unknown19"}, + {20, nullptr, "CreateSaveDataArchiveInfoCacheForSaveDataBackupUpdationTask"}, + {21, nullptr, "ListSecondarySaves"}, + {22, D<&IRemoteStorageController::GetSecondarySave>, "GetSecondarySave"}, + {23, nullptr, "TouchSecondarySave"}, + {24, nullptr, "GetSecondarySaveDataInfo"}, + {25, nullptr, "RegisterDownloadSaveDataTransferTaskForAutonomyRegistration"}, + {900, nullptr, "Unknown900"}, + }; + // clang-format on + + RegisterHandlers(functions); +} + +IRemoteStorageController::~IRemoteStorageController() = default; + +Result IRemoteStorageController::GetSecondarySave(Out<bool> out_has_secondary_save, + Out<std::array<u64, 3>> out_unknown, + u64 application_id) { + LOG_ERROR(Service_OLSC, "(STUBBED) called, application_id={:016X}", application_id); + *out_has_secondary_save = false; + *out_unknown = {}; + R_SUCCEED(); +} + +} // namespace Service::OLSC diff --git a/src/core/hle/service/olsc/remote_storage_controller.h b/src/core/hle/service/olsc/remote_storage_controller.h new file mode 100644 index 000000000..e7a0b5244 --- /dev/null +++ b/src/core/hle/service/olsc/remote_storage_controller.h @@ -0,0 +1,19 @@ +// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "core/hle/service/cmif_types.h" +#include "core/hle/service/service.h" + +namespace Service::OLSC { + +class IRemoteStorageController final : public ServiceFramework<IRemoteStorageController> { +public: + explicit IRemoteStorageController(Core::System& system_); + ~IRemoteStorageController() override; + +private: + Result GetSecondarySave(Out<bool> out_has_secondary_save, Out<std::array<u64, 3>> out_unknown, + u64 application_id); +}; + +} // namespace Service::OLSC |