diff options
author | Morph <39850852+Morph1984@users.noreply.github.com> | 2021-07-14 06:52:17 +0200 |
---|---|---|
committer | Morph <39850852+Morph1984@users.noreply.github.com> | 2021-07-14 08:09:14 +0200 |
commit | c6d7da88c7ab125279ea4ccad0e3e839632b2f7a (patch) | |
tree | 8591def7815ce7cc9156d87e0d62567584db1a23 /src/core/hle/service/apm/apm_interface.h | |
parent | applets: Append applet_ prefix to backend applets (diff) | |
download | yuzu-c6d7da88c7ab125279ea4ccad0e3e839632b2f7a.tar yuzu-c6d7da88c7ab125279ea4ccad0e3e839632b2f7a.tar.gz yuzu-c6d7da88c7ab125279ea4ccad0e3e839632b2f7a.tar.bz2 yuzu-c6d7da88c7ab125279ea4ccad0e3e839632b2f7a.tar.lz yuzu-c6d7da88c7ab125279ea4ccad0e3e839632b2f7a.tar.xz yuzu-c6d7da88c7ab125279ea4ccad0e3e839632b2f7a.tar.zst yuzu-c6d7da88c7ab125279ea4ccad0e3e839632b2f7a.zip |
Diffstat (limited to 'src/core/hle/service/apm/apm_interface.h')
-rw-r--r-- | src/core/hle/service/apm/apm_interface.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/core/hle/service/apm/apm_interface.h b/src/core/hle/service/apm/apm_interface.h new file mode 100644 index 000000000..063ad5308 --- /dev/null +++ b/src/core/hle/service/apm/apm_interface.h @@ -0,0 +1,43 @@ +// Copyright 2018 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "core/hle/service/service.h" + +namespace Service::APM { + +class Controller; +class Module; + +class APM final : public ServiceFramework<APM> { +public: + explicit APM(Core::System& system_, std::shared_ptr<Module> apm_, Controller& controller_, + const char* name); + ~APM() override; + +private: + void OpenSession(Kernel::HLERequestContext& ctx); + void GetPerformanceMode(Kernel::HLERequestContext& ctx); + void IsCpuOverclockEnabled(Kernel::HLERequestContext& ctx); + + std::shared_ptr<Module> apm; + Controller& controller; +}; + +class APM_Sys final : public ServiceFramework<APM_Sys> { +public: + explicit APM_Sys(Core::System& system_, Controller& controller); + ~APM_Sys() override; + + void SetCpuBoostMode(Kernel::HLERequestContext& ctx); + +private: + void GetPerformanceEvent(Kernel::HLERequestContext& ctx); + void GetCurrentPerformanceConfiguration(Kernel::HLERequestContext& ctx); + + Controller& controller; +}; + +} // namespace Service::APM |