aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs
diff options
context:
space:
mode:
authorAc_K <Acoustik666@gmail.com>2019-06-16 00:35:38 +0200
committerThomas Guillemard <me@thog.eu>2019-06-16 00:35:38 +0200
commit5c1bc524092b3c5d867ce6204ac9db27b7359d3f (patch)
tree6176a128cb171a0b58b8fe12da87a346d2acf2aa /Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs
parentd8d5f2cbe703aa2ef2d1bb9211b3056da94b0168 (diff)
Refactoring of acc:u0 (#701)
* Refactoring of acc:u0 - Move all account things to the account service - More accurate IAccountServiceForApplication - Add helper to UInt128 * FIx my engrish * FIx my engrish #2
Diffstat (limited to 'Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs')
-rw-r--r--Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs60
1 files changed, 6 insertions, 54 deletions
diff --git a/Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs b/Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs
index 436897ed..2f0c35f4 100644
--- a/Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs
+++ b/Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs
@@ -1,8 +1,6 @@
+using Ryujinx.HLE.HOS.Services.Acc;
using Ryujinx.HLE.Utilities;
using System;
-using System.Collections.Concurrent;
-using System.Collections.Generic;
-using System.Linq;
namespace Ryujinx.HLE.HOS.SystemState
{
@@ -50,21 +48,18 @@ namespace Ryujinx.HLE.HOS.SystemState
public bool InstallContents { get; set; }
- private ConcurrentDictionary<string, UserProfile> _profiles;
-
- internal UserProfile LastOpenUser { get; private set; }
+ public AccountUtils Account { get; private set; }
public SystemStateMgr()
{
SetAudioOutputAsBuiltInSpeaker();
- _profiles = new ConcurrentDictionary<string, UserProfile>();
-
- UInt128 defaultUuid = new UInt128("00000000000000000000000000000001");
+ Account = new AccountUtils();
- AddUser(defaultUuid, "Player");
+ UInt128 defaultUid = new UInt128("00000000000000000000000000000001");
- OpenUser(defaultUuid);
+ Account.AddUser(defaultUid, "Player");
+ Account.OpenUser(defaultUid);
}
public void SetLanguage(SystemLanguage language)
@@ -102,49 +97,6 @@ namespace Ryujinx.HLE.HOS.SystemState
ActiveAudioOutput = AudioOutputs[2];
}
- public void AddUser(UInt128 uuid, string name)
- {
- UserProfile profile = new UserProfile(uuid, name);
-
- _profiles.AddOrUpdate(uuid.ToString(), profile, (key, old) => profile);
- }
-
- public void OpenUser(UInt128 uuid)
- {
- if (_profiles.TryGetValue(uuid.ToString(), out UserProfile profile))
- {
- (LastOpenUser = profile).AccountState = OpenCloseState.Open;
- }
- }
-
- public void CloseUser(UInt128 uuid)
- {
- if (_profiles.TryGetValue(uuid.ToString(), out UserProfile profile))
- {
- profile.AccountState = OpenCloseState.Closed;
- }
- }
-
- public int GetUserCount()
- {
- return _profiles.Count;
- }
-
- internal bool TryGetUser(UInt128 uuid, out UserProfile profile)
- {
- return _profiles.TryGetValue(uuid.ToString(), out profile);
- }
-
- internal IEnumerable<UserProfile> GetAllUsers()
- {
- return _profiles.Values;
- }
-
- internal IEnumerable<UserProfile> GetOpenUsers()
- {
- return _profiles.Values.Where(x => x.AccountState == OpenCloseState.Open);
- }
-
internal static long GetLanguageCode(int index)
{
if ((uint)index >= LanguageCodes.Length)