diff options
author | Liam <[email protected]> | 2024-02-24 12:18:51 -0500 |
---|---|---|
committer | Liam <[email protected]> | 2024-02-24 22:25:34 -0500 |
commit | f297e98a9ecdcf15861310acbaef3b1624552533 (patch) | |
tree | 6969b08583d9214e4251a7313ca9d2790b5b865b | |
parent | 637c54e205091e285ea6ebdba108ac3dae9f0ce0 (diff) | |
download | yuzu-android-f297e98a9ecdcf15861310acbaef3b1624552533.tar.gz yuzu-android-f297e98a9ecdcf15861310acbaef3b1624552533.zip |
acc: add account manager for acc:u1
-rw-r--r-- | src/core/hle/service/acc/acc.cpp | 23 | ||||
-rw-r--r-- | src/core/hle/service/acc/acc_u1.cpp | 2 |
2 files changed, 16 insertions, 9 deletions
diff --git a/src/core/hle/service/acc/acc.cpp b/src/core/hle/service/acc/acc.cpp index f21553644..fad111d44 100644 --- a/src/core/hle/service/acc/acc.cpp +++ b/src/core/hle/service/acc/acc.cpp @@ -25,8 +25,8 @@ #include "core/hle/service/acc/async_context.h" #include "core/hle/service/acc/errors.h" #include "core/hle/service/acc/profile_manager.h" +#include "core/hle/service/cmif_serialization.h" #include "core/hle/service/glue/glue_manager.h" -#include "core/hle/service/ipc_helpers.h" #include "core/hle/service/server_manager.h" #include "core/loader/loader.h" @@ -74,12 +74,12 @@ static void SanitizeJPEGImageSize(std::vector<u8>& image) { class IManagerForSystemService final : public ServiceFramework<IManagerForSystemService> { public: - explicit IManagerForSystemService(Core::System& system_, Common::UUID) - : ServiceFramework{system_, "IManagerForSystemService"} { + explicit IManagerForSystemService(Core::System& system_, Common::UUID uuid) + : ServiceFramework{system_, "IManagerForSystemService"}, account_id{uuid} { // clang-format off static const FunctionInfo functions[] = { - {0, &IManagerForSystemService::CheckAvailability, "CheckAvailability"}, - {1, nullptr, "GetAccountId"}, + {0, D<&IManagerForSystemService::CheckAvailability>, "CheckAvailability"}, + {1, D<&IManagerForSystemService::GetAccountId>, "GetAccountId"}, {2, nullptr, "EnsureIdTokenCacheAsync"}, {3, nullptr, "LoadIdTokenCache"}, {100, nullptr, "SetSystemProgramIdentification"}, @@ -109,11 +109,18 @@ public: } private: - void CheckAvailability(HLERequestContext& ctx) { + Result CheckAvailability() { LOG_WARNING(Service_ACC, "(STUBBED) called"); - IPC::ResponseBuilder rb{ctx, 2}; - rb.Push(ResultSuccess); + R_SUCCEED(); } + + Result GetAccountId(Out<u64> out_account_id) { + LOG_WARNING(Service_ACC, "(STUBBED) called"); + *out_account_id = account_id.Hash(); + R_SUCCEED(); + } + + Common::UUID account_id; }; // 3.0.0+ diff --git a/src/core/hle/service/acc/acc_u1.cpp b/src/core/hle/service/acc/acc_u1.cpp index 92f704c2f..eecc94387 100644 --- a/src/core/hle/service/acc/acc_u1.cpp +++ b/src/core/hle/service/acc/acc_u1.cpp @@ -23,7 +23,7 @@ ACC_U1::ACC_U1(std::shared_ptr<Module> module_, std::shared_ptr<ProfileManager> {99, nullptr, "DebugActivateOpenContextRetention"}, {100, nullptr, "GetUserRegistrationNotifier"}, {101, nullptr, "GetUserStateChangeNotifier"}, - {102, nullptr, "GetBaasAccountManagerForSystemService"}, + {102, &ACC_U1::GetBaasAccountManagerForSystemService, "GetBaasAccountManagerForSystemService"}, {103, nullptr, "GetBaasUserAvailabilityChangeNotifier"}, {104, nullptr, "GetProfileUpdateNotifier"}, {105, nullptr, "CheckNetworkServiceAvailabilityAsync"}, |