ryujinx/Ryujinx.HLE/HOS/Services/Account/Acc/IManagerForApplication.cs
Thog ea14a95524
Fix inconsistencies with UserId (#906)
* Fix inconsistencies with UserId

The account user id isn't an UUID. This PR adds a new UserId type with
the correct value ordering to avoid mismatch with LibHac's Uid. This also fix
an hardcoded value of the UserId.

As the userid has been invalid for quite some time (and to avoid forcing
users to their recreate saves), the userid has been changed to "00000000000000010000000000000000".

Also implement a stub for IApplicationFunctions::GetSaveDataSize. (see
the sources for the reason)

Fix #626

* Address jd's & Ac_k's comments
2020-02-02 14:24:17 +11:00

39 lines
1.1 KiB
C#

using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Services.Arp;
namespace Ryujinx.HLE.HOS.Services.Account.Acc
{
class IManagerForApplication : IpcService
{
private UserId _userId;
private ApplicationLaunchProperty _applicationLaunchProperty;
public IManagerForApplication(UserId userId, ApplicationLaunchProperty applicationLaunchProperty)
{
_userId = userId;
_applicationLaunchProperty = applicationLaunchProperty;
}
[Command(0)]
// CheckAvailability()
public ResultCode CheckAvailability(ServiceCtx context)
{
Logger.PrintStub(LogClass.ServiceAcc);
return ResultCode.Success;
}
[Command(1)]
// GetAccountId() -> nn::account::NetworkServiceAccountId
public ResultCode GetAccountId(ServiceCtx context)
{
long networkServiceAccountId = 0xcafe;
Logger.PrintStub(LogClass.ServiceAcc, new { networkServiceAccountId });
context.ResponseData.Write(networkServiceAccountId);
return ResultCode.Success;
}
}
}