service: lbl: Add SaveCurrentSetting, LoadCurrentSetting and IsAutoBrightnessControlSupported for QLaunch
This commit is contained in:
		| @@ -18,8 +18,8 @@ public: | ||||
|     explicit LBL(Core::System& system_) : ServiceFramework{system_, "lbl"} { | ||||
|         // clang-format off | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, nullptr, "SaveCurrentSetting"}, | ||||
|             {1, nullptr, "LoadCurrentSetting"}, | ||||
|             {0, &LBL::SaveCurrentSetting, "SaveCurrentSetting"}, | ||||
|             {1, &LBL::LoadCurrentSetting, "LoadCurrentSetting"}, | ||||
|             {2, &LBL::SetCurrentBrightnessSetting, "SetCurrentBrightnessSetting"}, | ||||
|             {3, &LBL::GetCurrentBrightnessSetting, "GetCurrentBrightnessSetting"}, | ||||
|             {4, nullptr, "ApplyCurrentBrightnessSettingToBacklight"}, | ||||
| @@ -47,7 +47,7 @@ public: | ||||
|             {26, &LBL::EnableVrMode, "EnableVrMode"}, | ||||
|             {27, &LBL::DisableVrMode, "DisableVrMode"}, | ||||
|             {28, &LBL::IsVrModeEnabled, "IsVrModeEnabled"}, | ||||
|             {29, nullptr, "IsAutoBrightnessControlSupported"}, | ||||
|             {29, &LBL::IsAutoBrightnessControlSupported, "IsAutoBrightnessControlSupported"}, | ||||
|         }; | ||||
|         // clang-format on | ||||
|  | ||||
| @@ -60,6 +60,20 @@ private: | ||||
|         On = 1, | ||||
|     }; | ||||
|  | ||||
|     void SaveCurrentSetting(HLERequestContext& ctx) { | ||||
|         LOG_WARNING(Service_LBL, "(STUBBED) called"); | ||||
|  | ||||
|         IPC::ResponseBuilder rb{ctx, 2}; | ||||
|         rb.Push(ResultSuccess); | ||||
|     } | ||||
|  | ||||
|     void LoadCurrentSetting(HLERequestContext& ctx) { | ||||
|         LOG_WARNING(Service_LBL, "(STUBBED) called"); | ||||
|  | ||||
|         IPC::ResponseBuilder rb{ctx, 2}; | ||||
|         rb.Push(ResultSuccess); | ||||
|     } | ||||
|  | ||||
|     void SetCurrentBrightnessSetting(HLERequestContext& ctx) { | ||||
|         IPC::RequestParser rp{ctx}; | ||||
|         auto brightness = rp.Pop<float>(); | ||||
| @@ -310,6 +324,14 @@ private: | ||||
|         rb.Push(vr_mode_enabled); | ||||
|     } | ||||
|  | ||||
|     void IsAutoBrightnessControlSupported(HLERequestContext& ctx) { | ||||
|         LOG_DEBUG(Service_LBL, "called"); | ||||
|  | ||||
|         IPC::ResponseBuilder rb{ctx, 3}; | ||||
|         rb.Push(ResultSuccess); | ||||
|         rb.Push<u8>(auto_brightness_supported); | ||||
|     } | ||||
|  | ||||
|     bool vr_mode_enabled = false; | ||||
|     float current_brightness = 1.0f; | ||||
|     float ambient_light_value = 0.0f; | ||||
| @@ -317,7 +339,8 @@ private: | ||||
|     bool dimming = true; | ||||
|     bool backlight_enabled = true; | ||||
|     bool update_instantly = false; | ||||
|     bool auto_brightness = false; // TODO(ogniK): Move to system settings | ||||
|     bool auto_brightness = false; | ||||
|     bool auto_brightness_supported = true; // TODO(ogniK): Move to system settings | ||||
| }; | ||||
|  | ||||
| void LoopProcess(Core::System& system) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user