aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs
diff options
context:
space:
mode:
authorAc_K <Acoustik666@gmail.com>2020-05-15 03:14:38 +0200
committerGitHub <noreply@github.com>2020-05-15 03:14:38 +0200
commitb2e58559283e184bc85bbb473511a7c8349c0fe5 (patch)
tree5e59ff5cfb67cdf3fd4c431ba3e50286a7f38ff1 /Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs
parent430a48338b5a0531ed2e675d03f30f0409cf6588 (diff)
pctl: refactoring IParentalControlServiceFactory and IParentalControl… (#1219)
* pctl: refactoring IParentalControlServiceFactory and IParentalControlService call Our previous implementation was totally guessed. Now it's implemented according to RE, even if it's stubbed because we will not support Parental Control for now. * unknownFlag > permissionFlag
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs')
-rw-r--r--Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs21
1 files changed, 14 insertions, 7 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs b/Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs
index 678279f9..0729b56e 100644
--- a/Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs
+++ b/Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs
@@ -2,19 +2,25 @@ using Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory;
namespace Ryujinx.HLE.HOS.Services.Pctl
{
- [Service("pctl")]
- [Service("pctl:a")]
- [Service("pctl:r")]
- [Service("pctl:s")]
+ [Service("pctl", 0x303)]
+ [Service("pctl:a", 0x83BE)]
+ [Service("pctl:r", 0x8040)]
+ [Service("pctl:s", 0x838E)]
class IParentalControlServiceFactory : IpcService
{
- public IParentalControlServiceFactory(ServiceCtx context) { }
+ private int _permissionFlag;
+
+ public IParentalControlServiceFactory(ServiceCtx context, int permissionFlag)
+ {
+ _permissionFlag = permissionFlag;
+ }
[Command(0)]
// CreateService(u64, pid) -> object<nn::pctl::detail::ipc::IParentalControlService>
public ResultCode CreateService(ServiceCtx context)
{
- MakeObject(context, new IParentalControlService());
+ // TODO: Should pass the pid.
+ MakeObject(context, new IParentalControlService(context, true, _permissionFlag));
return ResultCode.Success;
}
@@ -23,7 +29,8 @@ namespace Ryujinx.HLE.HOS.Services.Pctl
// CreateServiceWithoutInitialize(u64, pid) -> object<nn::pctl::detail::ipc::IParentalControlService>
public ResultCode CreateServiceWithoutInitialize(ServiceCtx context)
{
- MakeObject(context, new IParentalControlService(false));
+ // TODO: Should pass the pid.
+ MakeObject(context, new IParentalControlService(context, false, _permissionFlag));
return ResultCode.Success;
}