ILblController.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. namespace Ryujinx.HLE.HOS.Services.Lbl
  2. {
  3. abstract class ILblController : IpcService
  4. {
  5. public ILblController(ServiceCtx context) { }
  6. protected abstract void SetCurrentBrightnessSettingForVrMode(float currentBrightnessSettingForVrMode);
  7. protected abstract float GetCurrentBrightnessSettingForVrMode();
  8. internal abstract void EnableVrMode();
  9. internal abstract void DisableVrMode();
  10. protected abstract bool IsVrModeEnabled();
  11. [CommandHipc(17)]
  12. // SetBrightnessReflectionDelayLevel(float, float)
  13. public ResultCode SetBrightnessReflectionDelayLevel(ServiceCtx context)
  14. {
  15. return ResultCode.Success;
  16. }
  17. [CommandHipc(18)]
  18. // GetBrightnessReflectionDelayLevel(float) -> float
  19. public ResultCode GetBrightnessReflectionDelayLevel(ServiceCtx context)
  20. {
  21. context.ResponseData.Write(0.0f);
  22. return ResultCode.Success;
  23. }
  24. [CommandHipc(21)]
  25. // SetCurrentAmbientLightSensorMapping(unknown<0xC>)
  26. public ResultCode SetCurrentAmbientLightSensorMapping(ServiceCtx context)
  27. {
  28. return ResultCode.Success;
  29. }
  30. [CommandHipc(22)]
  31. // GetCurrentAmbientLightSensorMapping() -> unknown<0xC>
  32. public ResultCode GetCurrentAmbientLightSensorMapping(ServiceCtx context)
  33. {
  34. return ResultCode.Success;
  35. }
  36. [CommandHipc(24)] // 3.0.0+
  37. // SetCurrentBrightnessSettingForVrMode(float)
  38. public ResultCode SetCurrentBrightnessSettingForVrMode(ServiceCtx context)
  39. {
  40. float currentBrightnessSettingForVrMode = context.RequestData.ReadSingle();
  41. SetCurrentBrightnessSettingForVrMode(currentBrightnessSettingForVrMode);
  42. return ResultCode.Success;
  43. }
  44. [CommandHipc(25)] // 3.0.0+
  45. // GetCurrentBrightnessSettingForVrMode() -> float
  46. public ResultCode GetCurrentBrightnessSettingForVrMode(ServiceCtx context)
  47. {
  48. float currentBrightnessSettingForVrMode = GetCurrentBrightnessSettingForVrMode();
  49. context.ResponseData.Write(currentBrightnessSettingForVrMode);
  50. return ResultCode.Success;
  51. }
  52. [CommandHipc(26)] // 3.0.0+
  53. // EnableVrMode()
  54. public ResultCode EnableVrMode(ServiceCtx context)
  55. {
  56. EnableVrMode();
  57. return ResultCode.Success;
  58. }
  59. [CommandHipc(27)] // 3.0.0+
  60. // DisableVrMode()
  61. public ResultCode DisableVrMode(ServiceCtx context)
  62. {
  63. DisableVrMode();
  64. return ResultCode.Success;
  65. }
  66. [CommandHipc(28)] // 3.0.0+
  67. // IsVrModeEnabled() -> bool
  68. public ResultCode IsVrModeEnabled(ServiceCtx context)
  69. {
  70. context.ResponseData.Write(IsVrModeEnabled());
  71. return ResultCode.Success;
  72. }
  73. }
  74. }