acc: Return a unique value per account for GetAccountId
This commit is contained in:
parent
8e64fb3225
commit
1417849a2b
|
@ -40,6 +40,11 @@ struct UUID {
|
||||||
uuid = INVALID_UUID;
|
uuid = INVALID_UUID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO(ogniK): Properly generate a Nintendo ID
|
||||||
|
constexpr u64 GetNintendoID() const {
|
||||||
|
return uuid[0];
|
||||||
|
}
|
||||||
|
|
||||||
std::string Format() const;
|
std::string Format() const;
|
||||||
std::string FormatSwitch() const;
|
std::string FormatSwitch() const;
|
||||||
};
|
};
|
||||||
|
|
|
@ -228,7 +228,8 @@ public:
|
||||||
|
|
||||||
class IManagerForApplication final : public ServiceFramework<IManagerForApplication> {
|
class IManagerForApplication final : public ServiceFramework<IManagerForApplication> {
|
||||||
public:
|
public:
|
||||||
IManagerForApplication() : ServiceFramework("IManagerForApplication") {
|
explicit IManagerForApplication(Common::UUID user_id)
|
||||||
|
: ServiceFramework("IManagerForApplication"), user_id(user_id) {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{0, &IManagerForApplication::CheckAvailability, "CheckAvailability"},
|
{0, &IManagerForApplication::CheckAvailability, "CheckAvailability"},
|
||||||
|
@ -254,12 +255,14 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
void GetAccountId(Kernel::HLERequestContext& ctx) {
|
void GetAccountId(Kernel::HLERequestContext& ctx) {
|
||||||
LOG_WARNING(Service_ACC, "(STUBBED) called");
|
LOG_DEBUG(Service_ACC, "called");
|
||||||
// Should return a nintendo account ID
|
|
||||||
IPC::ResponseBuilder rb{ctx, 4};
|
IPC::ResponseBuilder rb{ctx, 4};
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
rb.PushRaw<u64>(1);
|
rb.PushRaw<u64>(user_id.GetNintendoID());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Common::UUID user_id;
|
||||||
};
|
};
|
||||||
|
|
||||||
void Module::Interface::GetUserCount(Kernel::HLERequestContext& ctx) {
|
void Module::Interface::GetUserCount(Kernel::HLERequestContext& ctx) {
|
||||||
|
@ -389,7 +392,7 @@ void Module::Interface::GetBaasAccountManagerForApplication(Kernel::HLERequestCo
|
||||||
LOG_DEBUG(Service_ACC, "called");
|
LOG_DEBUG(Service_ACC, "called");
|
||||||
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
rb.PushIpcInterface<IManagerForApplication>();
|
rb.PushIpcInterface<IManagerForApplication>(profile_manager->GetLastOpenedUser());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Module::Interface::IsUserAccountSwitchLocked(Kernel::HLERequestContext& ctx) {
|
void Module::Interface::IsUserAccountSwitchLocked(Kernel::HLERequestContext& ctx) {
|
||||||
|
|
Reference in New Issue