aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Services/Pctl
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Pctl')
-rw-r--r--Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs10
-rw-r--r--Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs6
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)
{