acc: add account manager for acc:u1

This commit is contained in:
Liam 2024-02-24 12:18:51 -05:00
parent 637c54e205
commit f297e98a9e
2 changed files with 16 additions and 9 deletions

View File

@ -25,8 +25,8 @@
#include "core/hle/service/acc/async_context.h" #include "core/hle/service/acc/async_context.h"
#include "core/hle/service/acc/errors.h" #include "core/hle/service/acc/errors.h"
#include "core/hle/service/acc/profile_manager.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/glue/glue_manager.h"
#include "core/hle/service/ipc_helpers.h"
#include "core/hle/service/server_manager.h" #include "core/hle/service/server_manager.h"
#include "core/loader/loader.h" #include "core/loader/loader.h"
@ -74,12 +74,12 @@ static void SanitizeJPEGImageSize(std::vector<u8>& image) {
class IManagerForSystemService final : public ServiceFramework<IManagerForSystemService> { class IManagerForSystemService final : public ServiceFramework<IManagerForSystemService> {
public: public:
explicit IManagerForSystemService(Core::System& system_, Common::UUID) explicit IManagerForSystemService(Core::System& system_, Common::UUID uuid)
: ServiceFramework{system_, "IManagerForSystemService"} { : ServiceFramework{system_, "IManagerForSystemService"}, account_id{uuid} {
// clang-format off // clang-format off
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, &IManagerForSystemService::CheckAvailability, "CheckAvailability"}, {0, D<&IManagerForSystemService::CheckAvailability>, "CheckAvailability"},
{1, nullptr, "GetAccountId"}, {1, D<&IManagerForSystemService::GetAccountId>, "GetAccountId"},
{2, nullptr, "EnsureIdTokenCacheAsync"}, {2, nullptr, "EnsureIdTokenCacheAsync"},
{3, nullptr, "LoadIdTokenCache"}, {3, nullptr, "LoadIdTokenCache"},
{100, nullptr, "SetSystemProgramIdentification"}, {100, nullptr, "SetSystemProgramIdentification"},
@ -109,11 +109,18 @@ public:
} }
private: private:
void CheckAvailability(HLERequestContext& ctx) { Result CheckAvailability() {
LOG_WARNING(Service_ACC, "(STUBBED) called"); LOG_WARNING(Service_ACC, "(STUBBED) called");
IPC::ResponseBuilder rb{ctx, 2}; R_SUCCEED();
rb.Push(ResultSuccess);
} }
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+ // 3.0.0+

View File

@ -23,7 +23,7 @@ ACC_U1::ACC_U1(std::shared_ptr<Module> module_, std::shared_ptr<ProfileManager>
{99, nullptr, "DebugActivateOpenContextRetention"}, {99, nullptr, "DebugActivateOpenContextRetention"},
{100, nullptr, "GetUserRegistrationNotifier"}, {100, nullptr, "GetUserRegistrationNotifier"},
{101, nullptr, "GetUserStateChangeNotifier"}, {101, nullptr, "GetUserStateChangeNotifier"},
{102, nullptr, "GetBaasAccountManagerForSystemService"}, {102, &ACC_U1::GetBaasAccountManagerForSystemService, "GetBaasAccountManagerForSystemService"},
{103, nullptr, "GetBaasUserAvailabilityChangeNotifier"}, {103, nullptr, "GetBaasUserAvailabilityChangeNotifier"},
{104, nullptr, "GetProfileUpdateNotifier"}, {104, nullptr, "GetProfileUpdateNotifier"},
{105, nullptr, "CheckNetworkServiceAvailabilityAsync"}, {105, nullptr, "CheckNetworkServiceAvailabilityAsync"},