Merge pull request #5810 from ogniK5377/stereo-vision
hle: Implement remaining services for Stereo Vision
This commit is contained in:
		| @@ -635,7 +635,7 @@ ICommonStateGetter::ICommonStateGetter(Core::System& system_, | ||||
|         {50, &ICommonStateGetter::IsVrModeEnabled, "IsVrModeEnabled"}, | ||||
|         {51, &ICommonStateGetter::SetVrModeEnabled, "SetVrModeEnabled"}, | ||||
|         {52, &ICommonStateGetter::SetLcdBacklighOffEnabled, "SetLcdBacklighOffEnabled"}, | ||||
|         {53, nullptr, "BeginVrModeEx"}, | ||||
|         {53, &ICommonStateGetter::BeginVrModeEx, "BeginVrModeEx"}, | ||||
|         {54, &ICommonStateGetter::EndVrModeEx, "EndVrModeEx"}, | ||||
|         {55, nullptr, "IsInControllerFirmwareUpdateSection"}, | ||||
|         {60, &ICommonStateGetter::GetDefaultDisplayResolution, "GetDefaultDisplayResolution"}, | ||||
| @@ -732,6 +732,13 @@ void ICommonStateGetter::SetLcdBacklighOffEnabled(Kernel::HLERequestContext& ctx | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
| } | ||||
|  | ||||
| void ICommonStateGetter::BeginVrModeEx(Kernel::HLERequestContext& ctx) { | ||||
|     LOG_WARNING(Service_AM, "(STUBBED) called"); | ||||
|  | ||||
|     IPC::ResponseBuilder rb{ctx, 2}; | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
| } | ||||
|  | ||||
| void ICommonStateGetter::EndVrModeEx(Kernel::HLERequestContext& ctx) { | ||||
|     LOG_WARNING(Service_AM, "(STUBBED) called"); | ||||
|  | ||||
|   | ||||
| @@ -189,6 +189,7 @@ private: | ||||
|     void IsVrModeEnabled(Kernel::HLERequestContext& ctx); | ||||
|     void SetVrModeEnabled(Kernel::HLERequestContext& ctx); | ||||
|     void SetLcdBacklighOffEnabled(Kernel::HLERequestContext& ctx); | ||||
|     void BeginVrModeEx(Kernel::HLERequestContext& ctx); | ||||
|     void EndVrModeEx(Kernel::HLERequestContext& ctx); | ||||
|     void GetDefaultDisplayResolution(Kernel::HLERequestContext& ctx); | ||||
|     void SetCpuBoostMode(Kernel::HLERequestContext& ctx); | ||||
|   | ||||
| @@ -50,11 +50,11 @@ public: | ||||
|             {1046, nullptr, "DisableFeaturesForReset"}, | ||||
|             {1047, nullptr, "NotifyApplicationDownloadStarted"}, | ||||
|             {1048, nullptr, "NotifyNetworkProfileCreated"}, | ||||
|             {1061, nullptr, "ConfirmStereoVisionRestrictionConfigurable"}, | ||||
|             {1062, nullptr, "GetStereoVisionRestriction"}, | ||||
|             {1063, nullptr, "SetStereoVisionRestriction"}, | ||||
|             {1064, nullptr, "ResetConfirmedStereoVisionPermission"}, | ||||
|             {1065, nullptr, "IsStereoVisionPermitted"}, | ||||
|             {1061, &IParentalControlService::ConfirmStereoVisionRestrictionConfigurable, "ConfirmStereoVisionRestrictionConfigurable"}, | ||||
|             {1062, &IParentalControlService::GetStereoVisionRestriction, "GetStereoVisionRestriction"}, | ||||
|             {1063, &IParentalControlService::SetStereoVisionRestriction, "SetStereoVisionRestriction"}, | ||||
|             {1064, &IParentalControlService::ResetConfirmedStereoVisionPermission, "ResetConfirmedStereoVisionPermission"}, | ||||
|             {1065, &IParentalControlService::IsStereoVisionPermitted, "IsStereoVisionPermitted"}, | ||||
|             {1201, nullptr, "UnlockRestrictionTemporarily"}, | ||||
|             {1202, nullptr, "UnlockSystemSettingsRestriction"}, | ||||
|             {1203, nullptr, "SetPinCode"}, | ||||
| @@ -114,6 +114,7 @@ public: | ||||
|             {2015, nullptr, "FinishSynchronizeParentalControlSettingsWithLastUpdated"}, | ||||
|             {2016, nullptr, "RequestUpdateExemptionListAsync"}, | ||||
|         }; | ||||
|         // clang-format on | ||||
|         RegisterHandlers(functions); | ||||
|     } | ||||
|  | ||||
| @@ -131,6 +132,49 @@ private: | ||||
|         IPC::ResponseBuilder rb{ctx, 2}; | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|     } | ||||
|  | ||||
|     void ConfirmStereoVisionRestrictionConfigurable(Kernel::HLERequestContext& ctx) { | ||||
|         LOG_WARNING(Service_PCTL, "(STUBBED) called"); | ||||
|  | ||||
|         IPC::ResponseBuilder rb{ctx, 2}; | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|     } | ||||
|  | ||||
|     void IsStereoVisionPermitted(Kernel::HLERequestContext& ctx) { | ||||
|         LOG_WARNING(Service_PCTL, "(STUBBED) called"); | ||||
|  | ||||
|         IPC::ResponseBuilder rb{ctx, 3}; | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|         rb.Push(true); | ||||
|     } | ||||
|  | ||||
|     void SetStereoVisionRestriction(Kernel::HLERequestContext& ctx) { | ||||
|         IPC::RequestParser rp{ctx}; | ||||
|         const auto can_use = rp.Pop<bool>(); | ||||
|         LOG_WARNING(Service_PCTL, "(STUBBED) called, can_use={}", can_use); | ||||
|  | ||||
|         can_use_stereo_vision = can_use; | ||||
|  | ||||
|         IPC::ResponseBuilder rb{ctx, 2}; | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|     } | ||||
|  | ||||
|     void GetStereoVisionRestriction(Kernel::HLERequestContext& ctx) { | ||||
|         LOG_WARNING(Service_PCTL, "(STUBBED) called"); | ||||
|  | ||||
|         IPC::ResponseBuilder rb{ctx, 3}; | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|         rb.Push(can_use_stereo_vision); | ||||
|     } | ||||
|  | ||||
|     void ResetConfirmedStereoVisionPermission(Kernel::HLERequestContext& ctx) { | ||||
|         LOG_WARNING(Service_PCTL, "(STUBBED) called"); | ||||
|  | ||||
|         IPC::ResponseBuilder rb{ctx, 2}; | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|     } | ||||
|  | ||||
|     bool can_use_stereo_vision = true; | ||||
| }; | ||||
|  | ||||
| void Module::Interface::CreateService(Kernel::HLERequestContext& ctx) { | ||||
| @@ -149,7 +193,8 @@ void Module::Interface::CreateServiceWithoutInitialize(Kernel::HLERequestContext | ||||
|     rb.PushIpcInterface<IParentalControlService>(system); | ||||
| } | ||||
|  | ||||
| Module::Interface::Interface(Core::System& system_, std::shared_ptr<Module> module_, const char* name) | ||||
| Module::Interface::Interface(Core::System& system_, std::shared_ptr<Module> module_, | ||||
|                              const char* name) | ||||
|     : ServiceFramework{system_, name}, module{std::move(module_)} {} | ||||
|  | ||||
| Module::Interface::~Interface() = default; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 bunnei
					bunnei