diff options
| author | Ac_K <Acoustik666@gmail.com> | 2020-05-15 03:14:38 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-15 03:14:38 +0200 |
| commit | b2e58559283e184bc85bbb473511a7c8349c0fe5 (patch) | |
| tree | 5e59ff5cfb67cdf3fd4c431ba3e50286a7f38ff1 /Ryujinx.HLE/HOS/Services/Pctl/IParentalControlServiceFactory.cs | |
| parent | 430a48338b5a0531ed2e675d03f30f0409cf6588 (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.cs | 21 |
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; } |
