// 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::Account { class ProfileManager; class Module final { public: class Interface : public ServiceFramework { public: explicit Interface(std::shared_ptr module, std::shared_ptr profile_manager, Core::System& system, const char* name); ~Interface() override; void GetUserCount(Kernel::HLERequestContext& ctx); void GetUserExistence(Kernel::HLERequestContext& ctx); void ListAllUsers(Kernel::HLERequestContext& ctx); void ListOpenUsers(Kernel::HLERequestContext& ctx); void GetLastOpenedUser(Kernel::HLERequestContext& ctx); void GetProfile(Kernel::HLERequestContext& ctx); void InitializeApplicationInfoOld(Kernel::HLERequestContext& ctx); void GetBaasAccountManagerForApplication(Kernel::HLERequestContext& ctx); void IsUserRegistrationRequestPermitted(Kernel::HLERequestContext& ctx); void TrySelectUserWithoutInteraction(Kernel::HLERequestContext& ctx); void IsUserAccountSwitchLocked(Kernel::HLERequestContext& ctx); protected: std::shared_ptr module; std::shared_ptr profile_manager; Core::System& system; }; }; /// Registers all ACC services with the specified service manager. void InstallInterfaces(Core::System& system); } // namespace Service::Account