diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2024-02-23 17:34:29 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-23 17:34:29 +0100 |
commit | fa4dec9fe9ff67b0a4f73953b18f0cd7e1698bd5 (patch) | |
tree | 04d960417c9c4aef9108b8640ebf4e82fc3f28a1 /src/core/hle/service/olsc/olsc_service_for_system_service.cpp | |
parent | Merge pull request #13100 from liamwhite/audio-ipc (diff) | |
parent | pctl: rewrite IParentalControlService (diff) | |
download | yuzu-fa4dec9fe9ff67b0a4f73953b18f0cd7e1698bd5.tar yuzu-fa4dec9fe9ff67b0a4f73953b18f0cd7e1698bd5.tar.gz yuzu-fa4dec9fe9ff67b0a4f73953b18f0cd7e1698bd5.tar.bz2 yuzu-fa4dec9fe9ff67b0a4f73953b18f0cd7e1698bd5.tar.lz yuzu-fa4dec9fe9ff67b0a4f73953b18f0cd7e1698bd5.tar.xz yuzu-fa4dec9fe9ff67b0a4f73953b18f0cd7e1698bd5.tar.zst yuzu-fa4dec9fe9ff67b0a4f73953b18f0cd7e1698bd5.zip |
Diffstat (limited to 'src/core/hle/service/olsc/olsc_service_for_system_service.cpp')
-rw-r--r-- | src/core/hle/service/olsc/olsc_service_for_system_service.cpp | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/src/core/hle/service/olsc/olsc_service_for_system_service.cpp b/src/core/hle/service/olsc/olsc_service_for_system_service.cpp new file mode 100644 index 000000000..f027933c9 --- /dev/null +++ b/src/core/hle/service/olsc/olsc_service_for_system_service.cpp @@ -0,0 +1,117 @@ +// 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/daemon_controller.h" +#include "core/hle/service/olsc/olsc_service_for_system_service.h" +#include "core/hle/service/olsc/remote_storage_controller.h" +#include "core/hle/service/olsc/transfer_task_list_controller.h" + +namespace Service::OLSC { + +IOlscServiceForSystemService::IOlscServiceForSystemService(Core::System& system_) + : ServiceFramework{system_, "olsc:s"} { + // clang-format off + static const FunctionInfo functions[] = { + {0, D<&IOlscServiceForSystemService::OpenTransferTaskListController>, "OpenTransferTaskListController"}, + {1, D<&IOlscServiceForSystemService::OpenRemoteStorageController>, "OpenRemoteStorageController"}, + {2, D<&IOlscServiceForSystemService::OpenDaemonController>, "OpenDaemonController"}, + {10, nullptr, "Unknown10"}, + {11, nullptr, "Unknown11"}, + {12, nullptr, "Unknown12"}, + {13, nullptr, "Unknown13"}, + {100, nullptr, "ListLastTransferTaskErrorInfo"}, + {101, nullptr, "GetLastErrorInfoCount"}, + {102, nullptr, "RemoveLastErrorInfoOld"}, + {103, nullptr, "GetLastErrorInfo"}, + {104, nullptr, "GetLastErrorEventHolder"}, + {105, nullptr, "GetLastTransferTaskErrorInfo"}, + {200, D<&IOlscServiceForSystemService::GetDataTransferPolicyInfo>, "GetDataTransferPolicyInfo"}, + {201, nullptr, "RemoveDataTransferPolicyInfo"}, + {202, nullptr, "UpdateDataTransferPolicyOld"}, + {203, nullptr, "UpdateDataTransferPolicy"}, + {204, nullptr, "CleanupDataTransferPolicyInfo"}, + {205, nullptr, "RequestDataTransferPolicy"}, + {300, nullptr, "GetAutoTransferSeriesInfo"}, + {301, nullptr, "UpdateAutoTransferSeriesInfo"}, + {400, nullptr, "CleanupSaveDataArchiveInfoType1"}, + {900, nullptr, "CleanupTransferTask"}, + {902, nullptr, "CleanupSeriesInfoType0"}, + {903, nullptr, "CleanupSaveDataArchiveInfoType0"}, + {904, nullptr, "CleanupApplicationAutoTransferSetting"}, + {905, nullptr, "CleanupErrorHistory"}, + {906, nullptr, "SetLastError"}, + {907, nullptr, "AddSaveDataArchiveInfoType0"}, + {908, nullptr, "RemoveSeriesInfoType0"}, + {909, nullptr, "GetSeriesInfoType0"}, + {910, nullptr, "RemoveLastErrorInfo"}, + {911, nullptr, "CleanupSeriesInfoType1"}, + {912, nullptr, "RemoveSeriesInfoType1"}, + {913, nullptr, "GetSeriesInfoType1"}, + {1000, nullptr, "UpdateIssueOld"}, + {1010, nullptr, "Unknown1010"}, + {1011, nullptr, "ListIssueInfoOld"}, + {1012, nullptr, "GetIssueOld"}, + {1013, nullptr, "GetIssue2Old"}, + {1014, nullptr, "GetIssue3Old"}, + {1020, nullptr, "RepairIssueOld"}, + {1021, nullptr, "RepairIssueWithUserIdOld"}, + {1022, nullptr, "RepairIssue2Old"}, + {1023, nullptr, "RepairIssue3Old"}, + {1024, nullptr, "Unknown1024"}, + {1100, nullptr, "UpdateIssue"}, + {1110, nullptr, "Unknown1110"}, + {1111, nullptr, "ListIssueInfo"}, + {1112, nullptr, "GetIssue"}, + {1113, nullptr, "GetIssue2"}, + {1114, nullptr, "GetIssue3"}, + {1120, nullptr, "RepairIssue"}, + {1121, nullptr, "RepairIssueWithUserId"}, + {1122, nullptr, "RepairIssue2"}, + {1123, nullptr, "RepairIssue3"}, + {1124, nullptr, "Unknown1124"}, + {10000, D<&IOlscServiceForSystemService::CloneService>, "CloneService"}, + }; + // clang-format on + + RegisterHandlers(functions); +} + +IOlscServiceForSystemService::~IOlscServiceForSystemService() = default; + +Result IOlscServiceForSystemService::OpenTransferTaskListController( + Out<SharedPointer<ITransferTaskListController>> out_interface) { + LOG_INFO(Service_OLSC, "called"); + *out_interface = std::make_shared<ITransferTaskListController>(system); + R_SUCCEED(); +} + +Result IOlscServiceForSystemService::OpenRemoteStorageController( + Out<SharedPointer<IRemoteStorageController>> out_interface) { + LOG_INFO(Service_OLSC, "called"); + *out_interface = std::make_shared<IRemoteStorageController>(system); + R_SUCCEED(); +} + +Result IOlscServiceForSystemService::OpenDaemonController( + Out<SharedPointer<IDaemonController>> out_interface) { + LOG_INFO(Service_OLSC, "called"); + *out_interface = std::make_shared<IDaemonController>(system); + R_SUCCEED(); +} + +Result IOlscServiceForSystemService::GetDataTransferPolicyInfo(Out<u16> out_policy_info, + u64 application_id) { + LOG_WARNING(Service_OLSC, "(STUBBED) called"); + *out_policy_info = 0; + R_SUCCEED(); +} + +Result IOlscServiceForSystemService::CloneService( + Out<SharedPointer<IOlscServiceForSystemService>> out_interface) { + LOG_INFO(Service_OLSC, "called"); + *out_interface = std::static_pointer_cast<IOlscServiceForSystemService>(shared_from_this()); + R_SUCCEED(); +} + +} // namespace Service::OLSC |