aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/SystemState
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
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')
-rw-r--r--Ryujinx.HLE/HOS/SystemState/OpenCloseState.cs8
-rw-r--r--Ryujinx.HLE/HOS/SystemState/SystemStateMgr.cs60
-rw-r--r--Ryujinx.HLE/HOS/SystemState/UserProfile.cs37
3 files changed, 6 insertions, 99 deletions
diff --git a/Ryujinx.HLE/HOS/SystemState/OpenCloseState.cs b/Ryujinx.HLE/HOS/SystemState/OpenCloseState.cs
deleted file mode 100644
index a2678b5c..00000000
--- a/Ryujinx.HLE/HOS/SystemState/OpenCloseState.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-namespace Ryujinx.HLE.HOS.SystemState
-{
- public enum OpenCloseState
- {
- Closed,
- Open
- }
-}
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)
diff --git a/Ryujinx.HLE/HOS/SystemState/UserProfile.cs b/Ryujinx.HLE/HOS/SystemState/UserProfile.cs
deleted file mode 100644
index 9240389c..00000000
--- a/Ryujinx.HLE/HOS/SystemState/UserProfile.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using Ryujinx.HLE.Utilities;
-using System;
-
-namespace Ryujinx.HLE.HOS.SystemState
-{
- class UserProfile
- {
- private static readonly DateTime Epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
-
- public UInt128 Uuid { get; private set; }
-
- public string Name { get; private set; }
-
- public long LastModifiedTimestamp { get; private set; }
-
- public OpenCloseState AccountState { get; set; }
- public OpenCloseState OnlinePlayState { get; set; }
-
- public UserProfile(UInt128 uuid, string name)
- {
- Uuid = uuid;
- Name = name;
-
- LastModifiedTimestamp = 0;
-
- AccountState = OpenCloseState.Closed;
- OnlinePlayState = OpenCloseState.Closed;
-
- UpdateTimestamp();
- }
-
- private void UpdateTimestamp()
- {
- LastModifiedTimestamp = (long)(DateTime.Now - Epoch).TotalSeconds;
- }
- }
-}