diff options
author | Liam <byteslice@airmail.cc> | 2023-12-31 02:51:23 +0100 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2024-01-30 00:43:45 +0100 |
commit | 7de6b410305fcfcd34078e62fbe0ceedb43663f9 (patch) | |
tree | b5f3dc0d7631852a64466f3765e62e0707b8d0c8 /src/core/hle/service/am/common_state_getter.h | |
parent | Merge pull request #12846 from german77/mii_const (diff) | |
download | yuzu-7de6b410305fcfcd34078e62fbe0ceedb43663f9.tar yuzu-7de6b410305fcfcd34078e62fbe0ceedb43663f9.tar.gz yuzu-7de6b410305fcfcd34078e62fbe0ceedb43663f9.tar.bz2 yuzu-7de6b410305fcfcd34078e62fbe0ceedb43663f9.tar.lz yuzu-7de6b410305fcfcd34078e62fbe0ceedb43663f9.tar.xz yuzu-7de6b410305fcfcd34078e62fbe0ceedb43663f9.tar.zst yuzu-7de6b410305fcfcd34078e62fbe0ceedb43663f9.zip |
Diffstat (limited to 'src/core/hle/service/am/common_state_getter.h')
-rw-r--r-- | src/core/hle/service/am/common_state_getter.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/src/core/hle/service/am/common_state_getter.h b/src/core/hle/service/am/common_state_getter.h new file mode 100644 index 000000000..11d66f10a --- /dev/null +++ b/src/core/hle/service/am/common_state_getter.h @@ -0,0 +1,78 @@ +// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "core/hle/service/kernel_helpers.h" +#include "core/hle/service/service.h" + +#include "core/hle/service/am/applet_message_queue.h" + +namespace Service::AM { + +class ICommonStateGetter final : public ServiceFramework<ICommonStateGetter> { +public: + explicit ICommonStateGetter(Core::System& system_, + std::shared_ptr<AppletMessageQueue> msg_queue_); + ~ICommonStateGetter() override; + +private: + // This is nn::oe::FocusState + enum class FocusState : u8 { + InFocus = 1, + NotInFocus = 2, + Background = 3, + }; + + // This is nn::oe::OperationMode + enum class OperationMode : u8 { + Handheld = 0, + Docked = 1, + }; + + // This is nn::am::service::SystemButtonType + enum class SystemButtonType { + None, + HomeButtonShortPressing, + HomeButtonLongPressing, + PowerButtonShortPressing, + PowerButtonLongPressing, + ShutdownSystem, + CaptureButtonShortPressing, + CaptureButtonLongPressing, + }; + + enum class SysPlatformRegion : s32 { + Global = 1, + Terra = 2, + }; + + void GetEventHandle(HLERequestContext& ctx); + void ReceiveMessage(HLERequestContext& ctx); + void GetCurrentFocusState(HLERequestContext& ctx); + void RequestToAcquireSleepLock(HLERequestContext& ctx); + void GetAcquiredSleepLockEvent(HLERequestContext& ctx); + void GetReaderLockAccessorEx(HLERequestContext& ctx); + void GetDefaultDisplayResolutionChangeEvent(HLERequestContext& ctx); + void GetOperationMode(HLERequestContext& ctx); + void GetPerformanceMode(HLERequestContext& ctx); + void GetBootMode(HLERequestContext& ctx); + void IsVrModeEnabled(HLERequestContext& ctx); + void SetVrModeEnabled(HLERequestContext& ctx); + void SetLcdBacklighOffEnabled(HLERequestContext& ctx); + void BeginVrModeEx(HLERequestContext& ctx); + void EndVrModeEx(HLERequestContext& ctx); + void GetDefaultDisplayResolution(HLERequestContext& ctx); + void SetCpuBoostMode(HLERequestContext& ctx); + void GetBuiltInDisplayType(HLERequestContext& ctx); + void PerformSystemButtonPressingIfInFocus(HLERequestContext& ctx); + void GetSettingsPlatformRegion(HLERequestContext& ctx); + void SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled(HLERequestContext& ctx); + + std::shared_ptr<AppletMessageQueue> msg_queue; + bool vr_mode_state{}; + Kernel::KEvent* sleep_lock_event; + KernelHelpers::ServiceContext service_context; +}; + +} // namespace Service::AM |