From 56374c8633b68bccba774b85140241a8a4173f68 Mon Sep 17 00:00:00 2001 From: Ac_K Date: Wed, 25 Mar 2020 12:28:15 +0100 Subject: [PATCH] prepo: Implement RequestImmediateTransmission and GetTransmissionStatus (#1033) * prepo: Implement RequestImmediateTransmission and GetTransmissionStatus This implement RequestImmediateTransmission and GetTransmissionStatus of the prepo service accurately to RE. Since we don't use reports, I've explained what the calls do in the real service. Close #958 * fix comment --- .../HOS/Services/Prepo/IPrepoService.cs | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Ryujinx.HLE/HOS/Services/Prepo/IPrepoService.cs b/Ryujinx.HLE/HOS/Services/Prepo/IPrepoService.cs index c2857447..c6a6ac56 100644 --- a/Ryujinx.HLE/HOS/Services/Prepo/IPrepoService.cs +++ b/Ryujinx.HLE/HOS/Services/Prepo/IPrepoService.cs @@ -49,6 +49,27 @@ namespace Ryujinx.HLE.HOS.Services.Prepo return ProcessReport(context, withUserID: true); } + [Command(10200)] + // RequestImmediateTransmission() + public ResultCode RequestImmediateTransmission(ServiceCtx context) + { + // It signals an event of nn::prepo::detail::service::core::TransmissionStatusManager that requests the transmission of the report. + // Since we don't use reports it's fine to do nothing. + + return ResultCode.Success; + } + + [Command(10300)] + // GetTransmissionStatus() -> u32 + public ResultCode GetTransmissionStatus(ServiceCtx context) + { + // It returns the transmission result of nn::prepo::detail::service::core::TransmissionStatusManager. + // Since we don't use reports it's fine to return ResultCode.Success. + context.ResponseData.Write((int)ResultCode.Success); + + return ResultCode.Success; + } + private ResultCode ProcessReport(ServiceCtx context, bool withUserID) { UserId userId = withUserID ? context.RequestData.ReadStruct() : new UserId();