IParentalControlServiceFactory.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory;
  2. namespace Ryujinx.HLE.HOS.Services.Pctl
  3. {
  4. [Service("pctl", 0x303)]
  5. [Service("pctl:a", 0x83BE)]
  6. [Service("pctl:r", 0x8040)]
  7. [Service("pctl:s", 0x838E)]
  8. class IParentalControlServiceFactory : IpcService
  9. {
  10. private int _permissionFlag;
  11. public IParentalControlServiceFactory(ServiceCtx context, int permissionFlag)
  12. {
  13. _permissionFlag = permissionFlag;
  14. }
  15. [CommandHipc(0)]
  16. // CreateService(u64, pid) -> object<nn::pctl::detail::ipc::IParentalControlService>
  17. public ResultCode CreateService(ServiceCtx context)
  18. {
  19. // TODO: Should pass the pid.
  20. MakeObject(context, new IParentalControlService(context, true, _permissionFlag));
  21. return ResultCode.Success;
  22. }
  23. [CommandHipc(1)] // 4.0.0+
  24. // CreateServiceWithoutInitialize(u64, pid) -> object<nn::pctl::detail::ipc::IParentalControlService>
  25. public ResultCode CreateServiceWithoutInitialize(ServiceCtx context)
  26. {
  27. // TODO: Should pass the pid.
  28. MakeObject(context, new IParentalControlService(context, false, _permissionFlag));
  29. return ResultCode.Success;
  30. }
  31. }
  32. }