account: Services Refactoring (#1833)

* account: Services Refactoring

* Remove extra empty space

* Fix IProfile::Get

* address gdkchan feedback
This commit is contained in:
Ac_K 2021-01-02 23:34:28 +01:00 committed by GitHub
parent 4f01c13f50
commit b001040c2f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 844 additions and 317 deletions

View file

@ -0,0 +1,47 @@
namespace Ryujinx.HLE.HOS.Services.Account.Acc.AccountService
{
class IManagerForSystemService : IpcService
{
private ManagerServer _managerServer;
public IManagerForSystemService(UserId userId)
{
_managerServer = new ManagerServer(userId);
}
[Command(0)]
// CheckAvailability()
public ResultCode CheckAvailability(ServiceCtx context)
{
return _managerServer.CheckAvailability(context);
}
[Command(1)]
// GetAccountId() -> nn::account::NetworkServiceAccountId
public ResultCode GetAccountId(ServiceCtx context)
{
return _managerServer.GetAccountId(context);
}
[Command(2)]
// EnsureIdTokenCacheAsync() -> object<nn::account::detail::IAsyncContext>
public ResultCode EnsureIdTokenCacheAsync(ServiceCtx context)
{
ResultCode resultCode = _managerServer.EnsureIdTokenCacheAsync(context, out IAsyncContext asyncContext);
if (resultCode == ResultCode.Success)
{
MakeObject(context, asyncContext);
}
return resultCode;
}
[Command(3)]
// LoadIdTokenCache() -> (u32 id_token_cache_size, buffer<bytes, 6>)
public ResultCode LoadIdTokenCache(ServiceCtx context)
{
return _managerServer.LoadIdTokenCache(context);
}
}
}