mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-10-06 06:00:12 +00:00
[hle] stubbed extra services from (parental controls and stuff) fw21 (#3175)
Adds more Firmware 20+ related service commands. Renames existing service commands according to switchbrew docs, Unstubs new parental service stuff. Signed-off-by: lizzie lizzie@eden-emu.dev Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3175 Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Reviewed-by: Lizzie <lizzie@eden-emu.dev> Co-authored-by: Maufeat <sahyno1996@gmail.com> Co-committed-by: Maufeat <sahyno1996@gmail.com>
This commit is contained in:
@@ -16,64 +16,67 @@ 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"},
|
||||
{0, D<&IOlscServiceForSystemService::GetTransferTaskListController>, "GetTransferTaskListController"},
|
||||
{1, D<&IOlscServiceForSystemService::GetRemoteStorageController>, "GetRemoteStorageController"},
|
||||
{2, D<&IOlscServiceForSystemService::GetDaemonController>, "GetDaemonController"},
|
||||
{10, nullptr, "PrepareDeleteUserProperty"},
|
||||
{11, nullptr, "DeleteUserSaveDataProperty"},
|
||||
{12, nullptr, "InvalidateMountCache"},
|
||||
{13, nullptr, "DeleteDeviceSaveDataProperty"},
|
||||
{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"},
|
||||
{200, D<&IOlscServiceForSystemService::GetDataTransferPolicy>, "GetDataTransferPolicy"},
|
||||
{201, nullptr, "DeleteDataTransferPolicyCache"},
|
||||
{202, nullptr, "Unknown202"},
|
||||
{203, nullptr, "RequestUpdateDataTransferPolicyCacheAsync"},
|
||||
{204, nullptr, "ClearDataTransferPolicyCache"},
|
||||
{205, nullptr, "RequestGetDataTransferPolicyAsync"},
|
||||
{206, nullptr, "Unknown206"}, //21.0.0+
|
||||
{300, nullptr, "GetUserSaveDataProperty"},
|
||||
{301, nullptr, "SetUserSaveDataProperty"},
|
||||
{302, nullptr, "Unknown302"}, //21.0.0+
|
||||
{400, nullptr, "CleanupSaveDataBackupContextForSpecificApplications"},
|
||||
{900, nullptr, "DeleteAllTransferTask"},
|
||||
{902, nullptr, "DeleteAllSeriesInfo"},
|
||||
{903, nullptr, "DeleteAllSdaInfoCache"},
|
||||
{904, nullptr, "DeleteAllApplicationSetting"},
|
||||
{905, nullptr, "DeleteAllTransferTaskErrorInfo"},
|
||||
{906, nullptr, "RegisterTransferTaskErrorInfo"},
|
||||
{907, nullptr, "AddSaveDataArchiveInfoCache"},
|
||||
{908, nullptr, "DeleteSeriesInfo"},
|
||||
{909, nullptr, "GetSeriesInfo"},
|
||||
{910, nullptr, "RemoveTransferTaskErrorInfo"},
|
||||
{911, nullptr, "DeleteAllSeriesInfoForSaveDataBackup"},
|
||||
{912, nullptr, "DeleteSeriesInfoForSaveDataBackup"},
|
||||
{913, nullptr, "GetSeriesInfoForSaveDataBackup"},
|
||||
{914, nullptr, "Unknown914"}, //20.2.0+
|
||||
{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"},
|
||||
{1011, nullptr, "Unknown1011"},
|
||||
{1012, nullptr, "Unknown1012"},
|
||||
{1013, nullptr, "Unkown1013"},
|
||||
{1014, nullptr, "Unknown1014"},
|
||||
{1020, nullptr, "Unknown1020"},
|
||||
{1021, nullptr, "Unknown1021"},
|
||||
{1022, nullptr, "Unknown1022"},
|
||||
{1023, nullptr, "Unknown1023"},
|
||||
{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"},
|
||||
{1100, nullptr, "RepairUpdateIssueInfoCacheAync"},
|
||||
{1110, nullptr, "RepairGetIssueInfo"},
|
||||
{1111, nullptr, "RepairListIssueInfo"},
|
||||
{1112, nullptr, "RepairListOperationPermissionInfo"},
|
||||
{1113, nullptr, "RepairListDataInfoForRepairedSaveDataDownload"},
|
||||
{1114, nullptr, "RepairListDataInfoForOriginalSaveDataDownload"},
|
||||
{1120, nullptr, "RepairUploadSaveDataAsync"},
|
||||
{1121, nullptr, "RepairUploadSaveDataAsync1"},
|
||||
{1122, nullptr, "RepairDownloadRepairedSaveDataAsync"},
|
||||
{1123, nullptr, "RepairDownloadOriginalSaveDataAsync"},
|
||||
{1124, nullptr, "RepairGetOperationProgressInfo"},
|
||||
{10000, D<&IOlscServiceForSystemService::GetOlscServiceForSystemService>, "GetOlscServiceForSystemService"},
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -82,38 +85,38 @@ IOlscServiceForSystemService::IOlscServiceForSystemService(Core::System& system_
|
||||
|
||||
IOlscServiceForSystemService::~IOlscServiceForSystemService() = default;
|
||||
|
||||
Result IOlscServiceForSystemService::OpenTransferTaskListController(
|
||||
Result IOlscServiceForSystemService::GetTransferTaskListController(
|
||||
Out<SharedPointer<ITransferTaskListController>> out_interface) {
|
||||
LOG_INFO(Service_OLSC, "called");
|
||||
*out_interface = std::make_shared<ITransferTaskListController>(system);
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
Result IOlscServiceForSystemService::OpenRemoteStorageController(
|
||||
Result IOlscServiceForSystemService::GetRemoteStorageController(
|
||||
Out<SharedPointer<IRemoteStorageController>> out_interface) {
|
||||
LOG_INFO(Service_OLSC, "called");
|
||||
*out_interface = std::make_shared<IRemoteStorageController>(system);
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
Result IOlscServiceForSystemService::OpenDaemonController(
|
||||
Result IOlscServiceForSystemService::GetDaemonController(
|
||||
Out<SharedPointer<IDaemonController>> out_interface) {
|
||||
LOG_INFO(Service_OLSC, "called");
|
||||
*out_interface = std::make_shared<IDaemonController>(system);
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
Result IOlscServiceForSystemService::GetDataTransferPolicyInfo(
|
||||
Out<DataTransferPolicy> out_policy_info, u64 application_id) {
|
||||
Result IOlscServiceForSystemService::GetDataTransferPolicy(
|
||||
Out<DataTransferPolicy> out_policy, u64 application_id) {
|
||||
LOG_WARNING(Service_OLSC, "(STUBBED) called");
|
||||
DataTransferPolicy policy{};
|
||||
policy.upload_policy = 0;
|
||||
policy.download_policy = 0;
|
||||
*out_policy_info = policy;
|
||||
*out_policy = policy;
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
Result IOlscServiceForSystemService::CloneService(
|
||||
Result IOlscServiceForSystemService::GetOlscServiceForSystemService(
|
||||
Out<SharedPointer<IOlscServiceForSystemService>> out_interface) {
|
||||
LOG_INFO(Service_OLSC, "called");
|
||||
*out_interface = std::static_pointer_cast<IOlscServiceForSystemService>(shared_from_this());
|
||||
|
||||
@@ -24,12 +24,12 @@ public:
|
||||
~IOlscServiceForSystemService() override;
|
||||
|
||||
private:
|
||||
Result OpenTransferTaskListController(
|
||||
Result GetTransferTaskListController(
|
||||
Out<SharedPointer<ITransferTaskListController>> out_interface);
|
||||
Result OpenRemoteStorageController(Out<SharedPointer<IRemoteStorageController>> out_interface);
|
||||
Result OpenDaemonController(Out<SharedPointer<IDaemonController>> out_interface);
|
||||
Result GetDataTransferPolicyInfo(Out<DataTransferPolicy> out_policy_info, u64 application_id);
|
||||
Result CloneService(Out<SharedPointer<IOlscServiceForSystemService>> out_interface);
|
||||
Result GetRemoteStorageController(Out<SharedPointer<IRemoteStorageController>> out_interface);
|
||||
Result GetDaemonController(Out<SharedPointer<IDaemonController>> out_interface);
|
||||
Result GetDataTransferPolicy(Out<DataTransferPolicy> out_policy, u64 application_id);
|
||||
Result GetOlscServiceForSystemService(Out<SharedPointer<IOlscServiceForSystemService>> out_interface);
|
||||
};
|
||||
|
||||
} // namespace Service::OLSC
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
@@ -11,32 +14,37 @@ ITransferTaskListController::ITransferTaskListController(Core::System& system_)
|
||||
: ServiceFramework{system_, "ITransferTaskListController"} {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, nullptr, "Unknown0"},
|
||||
{1, nullptr, "Unknown1"},
|
||||
{2, nullptr, "Unknown2"},
|
||||
{3, nullptr, "Unknown3"},
|
||||
{4, nullptr, "Unknown4"},
|
||||
{5, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetNativeHandleHolder"},
|
||||
{6, nullptr, "Unknown6"},
|
||||
{7, nullptr, "Unknown7"},
|
||||
{8, nullptr, "GetRemoteStorageController"},
|
||||
{9, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetNativeHandleHolder2"},
|
||||
{10, nullptr, "Unknown10"},
|
||||
{11, nullptr, "Unknown11"},
|
||||
{12, nullptr, "Unknown12"},
|
||||
{13, nullptr, "Unknown13"},
|
||||
{14, nullptr, "Unknown14"},
|
||||
{15, nullptr, "Unknown15"},
|
||||
{16, nullptr, "Unknown16"},
|
||||
{17, nullptr, "Unknown17"},
|
||||
{18, nullptr, "Unknown18"},
|
||||
{19, nullptr, "Unknown19"},
|
||||
{20, nullptr, "Unknown20"},
|
||||
{21, nullptr, "Unknown21"},
|
||||
{22, nullptr, "Unknown22"},
|
||||
{23, nullptr, "Unknown23"},
|
||||
{24, nullptr, "Unknown24"},
|
||||
{25, nullptr, "Unknown25"},
|
||||
{0, nullptr, "GetTransferTaskCountForOcean"},
|
||||
{1, nullptr, "GetTransferTaskInfoForOcean"},
|
||||
{2, nullptr, "ListTransferTaskInfoForOcean"},
|
||||
{3, nullptr, "DeleteTransferTaskForOcean"},
|
||||
{4, nullptr, "RaiseTransferTaskPriorityForOcean"},
|
||||
{5, D<&ITransferTaskListController::GetTransferTaskEndEventNativeHandleHolder>, "GetTransferTaskEndEventNativeHandleHolder"},
|
||||
{6, nullptr, "GetTransferTaskProgressForOcean"},
|
||||
{7, nullptr, "GetTransferTaskLastResultForOcean"},
|
||||
{8, nullptr, "StopNextTransferTaskExecution"},
|
||||
{9, D<&ITransferTaskListController::GetTransferTaskStartEventNativeHandleHolder>, "GetTransferTaskStartEventNativeHandleHolder"},
|
||||
{10, nullptr, "SuspendTransferTaskForOcean"},
|
||||
{11, nullptr, "GetCurrentTransferTaskInfoForOcean"},
|
||||
{12, nullptr, "FindTransferTaskInfoForOcean"},
|
||||
{13, nullptr, "CancelCurrentRepairTransferTask"},
|
||||
{14, nullptr, "GetRepairTransferTaskProgress"},
|
||||
{15, nullptr, "EnsureExecutableForRepairTransferTask"},
|
||||
{16, nullptr, "GetTransferTaskCount"},
|
||||
{17, nullptr, "GetTransferTaskInfo"},
|
||||
{18, nullptr, "ListTransferTaskInfo"},
|
||||
{19, nullptr, "DeleteTransferTask"},
|
||||
{20, nullptr, "RaiseTransferTaskPriority"},
|
||||
{21, nullptr, "GetTransferTaskProgress"},
|
||||
{22, nullptr, "GetTransferTaskLastResult"},
|
||||
{23, nullptr, "SuspendTransferTask"},
|
||||
{24, nullptr, "GetCurrentTransferTaskInfo"},
|
||||
{25, nullptr, "Unknown25"}, //20.1.0+
|
||||
{26, nullptr, "Unknown26"}, //20.1.0+
|
||||
{27, nullptr, "Unknown27"}, //20.1.0+
|
||||
{28, nullptr, "Unknown28"}, //20.1.0+
|
||||
{29, nullptr, "Unknown29"}, //20.1.0+
|
||||
{30, nullptr, "Unknown30"}, //20.1.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -45,7 +53,14 @@ ITransferTaskListController::ITransferTaskListController(Core::System& system_)
|
||||
|
||||
ITransferTaskListController::~ITransferTaskListController() = default;
|
||||
|
||||
Result ITransferTaskListController::GetNativeHandleHolder(
|
||||
Result ITransferTaskListController::GetTransferTaskEndEventNativeHandleHolder(
|
||||
Out<SharedPointer<INativeHandleHolder>> out_holder) {
|
||||
LOG_WARNING(Service_OLSC, "(STUBBED) called");
|
||||
*out_holder = std::make_shared<INativeHandleHolder>(system);
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
Result ITransferTaskListController::GetTransferTaskStartEventNativeHandleHolder(
|
||||
Out<SharedPointer<INativeHandleHolder>> out_holder) {
|
||||
LOG_WARNING(Service_OLSC, "(STUBBED) called");
|
||||
*out_holder = std::make_shared<INativeHandleHolder>(system);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
@@ -14,7 +17,8 @@ public:
|
||||
~ITransferTaskListController() override;
|
||||
|
||||
private:
|
||||
Result GetNativeHandleHolder(Out<SharedPointer<INativeHandleHolder>> out_holder);
|
||||
Result GetTransferTaskEndEventNativeHandleHolder(Out<SharedPointer<INativeHandleHolder>> out_holder);
|
||||
Result GetTransferTaskStartEventNativeHandleHolder(Out<SharedPointer<INativeHandleHolder>> out_holder);
|
||||
};
|
||||
|
||||
} // namespace Service::OLSC
|
||||
|
||||
Reference in New Issue
Block a user