diff options
| author | Chloe Marcec <dmarcecguzman@gmail.com> | 2021-03-27 02:03:18 +1100 |
|---|---|---|
| committer | Chloe Marcec <dmarcecguzman@gmail.com> | 2021-03-27 02:03:18 +1100 |
| commit | e9a1f29e936e8da5899c360394f37c7646150e3f (patch) | |
| tree | cbcd16b15b3e485c2523b41dee5a9e15706ca6fd /src/core/hle/service/pctl/module.h | |
| parent | 65774084fd9209c9d812cdf10c2b82c2ee35f360 (diff) | |
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.
Diffstat (limited to 'src/core/hle/service/pctl/module.h')
| -rw-r--r-- | src/core/hle/service/pctl/module.h | 19 |
1 files changed, 17 insertions, 2 deletions
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<Interface> { public: - explicit Interface(Core::System& system_, std::shared_ptr<Module> module_, - const char* name); + explicit Interface(Core::System& system_, std::shared_ptr<Module> module_, const char* name, + Capability capability); ~Interface() override; void CreateService(Kernel::HLERequestContext& ctx); @@ -25,6 +37,9 @@ public: protected: std::shared_ptr<Module> module; + + private: + Capability capability{}; }; }; |
