diff options
author | David Marcec <dmarcecguzman@gmail.com> | 2019-06-27 08:44:42 +0200 |
---|---|---|
committer | David Marcec <dmarcecguzman@gmail.com> | 2019-06-27 08:44:42 +0200 |
commit | 0b03e8a98fc7685e5b44292327e1b31de27e9bcd (patch) | |
tree | b19bdd1fb7c812c17af02a4c0268ada73a22f263 /src/core/hle/service/acc/acc.h | |
parent | Merge pull request #2548 from DarkLordZach/applet-shopn (diff) | |
download | yuzu-0b03e8a98fc7685e5b44292327e1b31de27e9bcd.tar yuzu-0b03e8a98fc7685e5b44292327e1b31de27e9bcd.tar.gz yuzu-0b03e8a98fc7685e5b44292327e1b31de27e9bcd.tar.bz2 yuzu-0b03e8a98fc7685e5b44292327e1b31de27e9bcd.tar.lz yuzu-0b03e8a98fc7685e5b44292327e1b31de27e9bcd.tar.xz yuzu-0b03e8a98fc7685e5b44292327e1b31de27e9bcd.tar.zst yuzu-0b03e8a98fc7685e5b44292327e1b31de27e9bcd.zip |
Diffstat (limited to 'src/core/hle/service/acc/acc.h')
-rw-r--r-- | src/core/hle/service/acc/acc.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/core/hle/service/acc/acc.h b/src/core/hle/service/acc/acc.h index 350f123a0..f651773b7 100644 --- a/src/core/hle/service/acc/acc.h +++ b/src/core/hle/service/acc/acc.h @@ -4,6 +4,7 @@ #pragma once +#include "core/hle/service/glue/manager.h" #include "core/hle/service/service.h" namespace Service::Account { @@ -25,12 +26,33 @@ public: void ListOpenUsers(Kernel::HLERequestContext& ctx); void GetLastOpenedUser(Kernel::HLERequestContext& ctx); void GetProfile(Kernel::HLERequestContext& ctx); - void InitializeApplicationInfoOld(Kernel::HLERequestContext& ctx); + void InitializeApplicationInfo(Kernel::HLERequestContext& ctx); + void InitializeApplicationInfoRestricted(Kernel::HLERequestContext& ctx); void GetBaasAccountManagerForApplication(Kernel::HLERequestContext& ctx); void IsUserRegistrationRequestPermitted(Kernel::HLERequestContext& ctx); void TrySelectUserWithoutInteraction(Kernel::HLERequestContext& ctx); void IsUserAccountSwitchLocked(Kernel::HLERequestContext& ctx); + private: + ResultCode InitializeApplicationInfoBase(u64 process_id); + + enum class ApplicationType : u32_le { + GameCard = 0, + Digital = 1, + Unknown = 3, + }; + + struct ApplicationInfo { + Service::Glue::ApplicationLaunchProperty launch_property; + ApplicationType application_type; + + constexpr explicit operator bool() const { + return launch_property.title_id != 0x0; + } + }; + + ApplicationInfo application_info{}; + protected: std::shared_ptr<Module> module; std::shared_ptr<ProfileManager> profile_manager; |