diff options
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Pctl')
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs | 10 | ||||
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs | 6 |
2 files changed, 10 insertions, 6 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs b/Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs index 785d2280..a84e13b5 100644 --- a/Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs +++ b/Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs @@ -19,8 +19,9 @@ namespace Ryujinx.HLE.HOS.Services.Pctl // CreateService(u64, pid) -> object<nn::pctl::detail::ipc::IParentalControlService> public ResultCode CreateService(ServiceCtx context) { - // TODO: Should pass the pid. - MakeObject(context, new IParentalControlService(context, true, _permissionFlag)); + long pid = context.Request.HandleDesc.PId; + + MakeObject(context, new IParentalControlService(context, pid, true, _permissionFlag)); return ResultCode.Success; } @@ -29,8 +30,9 @@ namespace Ryujinx.HLE.HOS.Services.Pctl // CreateServiceWithoutInitialize(u64, pid) -> object<nn::pctl::detail::ipc::IParentalControlService> public ResultCode CreateServiceWithoutInitialize(ServiceCtx context) { - // TODO: Should pass the pid. - MakeObject(context, new IParentalControlService(context, false, _permissionFlag)); + long pid = context.Request.HandleDesc.PId; + + MakeObject(context, new IParentalControlService(context, pid, false, _permissionFlag)); return ResultCode.Success; } diff --git a/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs b/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs index 183c570c..173b3223 100644 --- a/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs +++ b/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs @@ -7,6 +7,7 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory { class IParentalControlService : IpcService { + private long _pid; private int _permissionFlag; private ulong _titleId; private ParentalControlFlagValue _parentalControlFlag; @@ -18,8 +19,9 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory private bool _stereoVisionRestrictionConfigurable = true; private bool _stereoVisionRestriction = false; - public IParentalControlService(ServiceCtx context, bool withInitialize, int permissionFlag) + public IParentalControlService(ServiceCtx context, long pid, bool withInitialize, int permissionFlag) { + _pid = pid; _permissionFlag = permissionFlag; if (withInitialize) @@ -39,7 +41,7 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory ResultCode resultCode = ResultCode.InvalidPid; - if (context.Process.Pid != 0) + if (_pid != 0) { if ((_permissionFlag & 0x40) == 0) { |
