aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLiam <[email protected]>2024-02-24 12:18:51 -0500
committerLiam <[email protected]>2024-02-24 22:25:34 -0500
commitf297e98a9ecdcf15861310acbaef3b1624552533 (patch)
tree6969b08583d9214e4251a7313ca9d2790b5b865b
parent637c54e205091e285ea6ebdba108ac3dae9f0ce0 (diff)
downloadyuzu-android-f297e98a9ecdcf15861310acbaef3b1624552533.tar.gz
yuzu-android-f297e98a9ecdcf15861310acbaef3b1624552533.zip
acc: add account manager for acc:u1
-rw-r--r--src/core/hle/service/acc/acc.cpp23
-rw-r--r--src/core/hle/service/acc/acc_u1.cpp2
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"},