| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- using Ryujinx.Common;
- using Ryujinx.HLE.HOS.Services.Account.Acc.AccountService;
- namespace Ryujinx.HLE.HOS.Services.Account.Acc
- {
- [Service("acc:u1", AccountServiceFlag.SystemService)] // Max Sessions: 16
- class IAccountServiceForSystemService : IpcService
- {
- private ApplicationServiceServer _applicationServiceServer;
- public IAccountServiceForSystemService(ServiceCtx context, AccountServiceFlag serviceFlag)
- {
- _applicationServiceServer = new ApplicationServiceServer(serviceFlag);
- }
- [CommandHipc(0)]
- // GetUserCount() -> i32
- public ResultCode GetUserCount(ServiceCtx context)
- {
- return _applicationServiceServer.GetUserCountImpl(context);
- }
- [CommandHipc(1)]
- // GetUserExistence(nn::account::Uid) -> bool
- public ResultCode GetUserExistence(ServiceCtx context)
- {
- return _applicationServiceServer.GetUserExistenceImpl(context);
- }
- [CommandHipc(2)]
- // ListAllUsers() -> array<nn::account::Uid, 0xa>
- public ResultCode ListAllUsers(ServiceCtx context)
- {
- return _applicationServiceServer.ListAllUsers(context);
- }
- [CommandHipc(3)]
- // ListOpenUsers() -> array<nn::account::Uid, 0xa>
- public ResultCode ListOpenUsers(ServiceCtx context)
- {
- return _applicationServiceServer.ListOpenUsers(context);
- }
- [CommandHipc(4)]
- // GetLastOpenedUser() -> nn::account::Uid
- public ResultCode GetLastOpenedUser(ServiceCtx context)
- {
- return _applicationServiceServer.GetLastOpenedUser(context);
- }
- [CommandHipc(5)]
- // GetProfile(nn::account::Uid) -> object<nn::account::profile::IProfile>
- public ResultCode GetProfile(ServiceCtx context)
- {
- ResultCode resultCode = _applicationServiceServer.GetProfile(context, out IProfile iProfile);
- if (resultCode == ResultCode.Success)
- {
- MakeObject(context, iProfile);
- }
- return resultCode;
- }
- [CommandHipc(50)]
- // IsUserRegistrationRequestPermitted(pid) -> bool
- public ResultCode IsUserRegistrationRequestPermitted(ServiceCtx context)
- {
- // NOTE: pid is unused.
- return _applicationServiceServer.IsUserRegistrationRequestPermitted(context);
- }
- [CommandHipc(51)]
- // TrySelectUserWithoutInteraction(bool) -> nn::account::Uid
- public ResultCode TrySelectUserWithoutInteraction(ServiceCtx context)
- {
- return _applicationServiceServer.TrySelectUserWithoutInteraction(context);
- }
- [CommandHipc(102)]
- // GetBaasAccountManagerForSystemService(nn::account::Uid) -> object<nn::account::baas::IManagerForApplication>
- public ResultCode GetBaasAccountManagerForSystemService(ServiceCtx context)
- {
- UserId userId = context.RequestData.ReadStruct<UserId>();
- if (userId.IsNull)
- {
- return ResultCode.NullArgument;
- }
- MakeObject(context, new IManagerForSystemService(userId));
- // Doesn't occur in our case.
- // return ResultCode.NullObject;
- return ResultCode.Success;
- }
- [CommandHipc(140)] // 6.0.0+
- // ListQualifiedUsers() -> array<nn::account::Uid, 0xa>
- public ResultCode ListQualifiedUsers(ServiceCtx context)
- {
- return _applicationServiceServer.ListQualifiedUsers(context);
- }
- }
- }
|