From e9a1f29e936e8da5899c360394f37c7646150e3f Mon Sep 17 00:00:00 2001 From: Chloe Marcec Date: Sat, 27 Mar 2021 02:03:18 +1100 Subject: pctl: Rework how pctl works to be more accurate Introduces the usage of compatibilities to allow it the module to be closer to how it works on hardware. --- src/core/hle/service/pctl/module.h | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/core/hle/service/pctl/module.h') diff --git a/src/core/hle/service/pctl/module.h b/src/core/hle/service/pctl/module.h index 4c7e09a3b..cdba11d60 100644 --- a/src/core/hle/service/pctl/module.h +++ b/src/core/hle/service/pctl/module.h @@ -4,6 +4,7 @@ #pragma once +#include "common/common_funcs.h" #include "core/hle/service/service.h" namespace Core { @@ -12,12 +13,23 @@ class System; namespace Service::PCTL { +enum class Capability : s32 { + None = 0x0, + Application = 1 << 0, + SnsPost = 1 << 1, + Recovery = 1 << 6, + Status = 1 << 8, + SteroVision = 1 << 9, + System = 1 << 15, +}; +DECLARE_ENUM_FLAG_OPERATORS(Capability); + class Module final { public: class Interface : public ServiceFramework { public: - explicit Interface(Core::System& system_, std::shared_ptr module_, - const char* name); + explicit Interface(Core::System& system_, std::shared_ptr module_, const char* name, + Capability capability); ~Interface() override; void CreateService(Kernel::HLERequestContext& ctx); @@ -25,6 +37,9 @@ public: protected: std::shared_ptr module; + + private: + Capability capability{}; }; }; -- cgit v1.2.3