// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "core/hle/service/am/service/cradle_firmware_updater.h" #include "core/hle/service/am/service/global_state_controller.h" #include "core/hle/service/cmif_serialization.h" namespace Service::AM { IGlobalStateController::IGlobalStateController(Core::System& system_) : ServiceFramework{system_, "IGlobalStateController"}, m_context{system_, "IGlobalStateController"}, m_hdcp_authentication_failed_event{m_context} { // clang-format off static const FunctionInfo functions[] = { {0, nullptr, "RequestToEnterSleep"}, {1, nullptr, "EnterSleep"}, {2, nullptr, "StartSleepSequence"}, {3, nullptr, "StartShutdownSequence"}, {4, nullptr, "StartRebootSequence"}, {9, nullptr, "IsAutoPowerDownRequested"}, {10, D<&IGlobalStateController::LoadAndApplyIdlePolicySettings>, "LoadAndApplyIdlePolicySettings"}, {11, nullptr, "NotifyCecSettingsChanged"}, {12, nullptr, "SetDefaultHomeButtonLongPressTime"}, {13, nullptr, "UpdateDefaultDisplayResolution"}, {14, D<&IGlobalStateController::ShouldSleepOnBoot>, "ShouldSleepOnBoot"}, {15, D<&IGlobalStateController::GetHdcpAuthenticationFailedEvent>, "GetHdcpAuthenticationFailedEvent"}, {30, D<&IGlobalStateController::OpenCradleFirmwareUpdater>, "OpenCradleFirmwareUpdater"}, }; // clang-format on RegisterHandlers(functions); } IGlobalStateController::~IGlobalStateController() = default; Result IGlobalStateController::LoadAndApplyIdlePolicySettings() { LOG_WARNING(Service_AM, "(STUBBED) called"); R_SUCCEED(); } Result IGlobalStateController::ShouldSleepOnBoot(Out out_should_sleep_on_boot) { LOG_INFO(Service_AM, "called"); *out_should_sleep_on_boot = false; R_SUCCEED(); } Result IGlobalStateController::GetHdcpAuthenticationFailedEvent( OutCopyHandle out_event) { LOG_INFO(Service_AM, "called"); *out_event = m_hdcp_authentication_failed_event.GetHandle(); R_SUCCEED(); } Result IGlobalStateController::OpenCradleFirmwareUpdater( Out> out_cradle_firmware_updater) { LOG_INFO(Service_AM, "called"); *out_cradle_firmware_updater = std::make_shared(system); R_SUCCEED(); } } // namespace Service::AM