|
|
@@ -0,0 +1,61 @@
|
|
|
+// 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<bool> out_should_sleep_on_boot) {
|
|
|
+ LOG_INFO(Service_AM, "called");
|
|
|
+ *out_should_sleep_on_boot = false;
|
|
|
+ R_SUCCEED();
|
|
|
+}
|
|
|
+
|
|
|
+Result IGlobalStateController::GetHdcpAuthenticationFailedEvent(
|
|
|
+ OutCopyHandle<Kernel::KReadableEvent> out_event) {
|
|
|
+ LOG_INFO(Service_AM, "called");
|
|
|
+ *out_event = m_hdcp_authentication_failed_event.GetHandle();
|
|
|
+ R_SUCCEED();
|
|
|
+}
|
|
|
+
|
|
|
+Result IGlobalStateController::OpenCradleFirmwareUpdater(
|
|
|
+ Out<SharedPointer<ICradleFirmwareUpdater>> out_cradle_firmware_updater) {
|
|
|
+ LOG_INFO(Service_AM, "called");
|
|
|
+ *out_cradle_firmware_updater = std::make_shared<ICradleFirmwareUpdater>(system);
|
|
|
+ R_SUCCEED();
|
|
|
+}
|
|
|
+
|
|
|
+} // namespace Service::AM
|