aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Services/Time/Clock/StandardUserSystemClockCore.cs
diff options
context:
space:
mode:
authorTSR Berry <20988865+TSRBerry@users.noreply.github.com>2023-04-08 01:22:00 +0200
committerMary <thog@protonmail.com>2023-04-27 23:51:14 +0200
commitcee712105850ac3385cd0091a923438167433f9f (patch)
tree4a5274b21d8b7f938c0d0ce18736d3f2993b11b1 /Ryujinx.HLE/HOS/Services/Time/Clock/StandardUserSystemClockCore.cs
parentcd124bda587ef09668a971fa1cac1c3f0cfc9f21 (diff)
Move solution and projects to src
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Time/Clock/StandardUserSystemClockCore.cs')
-rw-r--r--Ryujinx.HLE/HOS/Services/Time/Clock/StandardUserSystemClockCore.cs108
1 files changed, 0 insertions, 108 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Time/Clock/StandardUserSystemClockCore.cs b/Ryujinx.HLE/HOS/Services/Time/Clock/StandardUserSystemClockCore.cs
deleted file mode 100644
index fa485437..00000000
--- a/Ryujinx.HLE/HOS/Services/Time/Clock/StandardUserSystemClockCore.cs
+++ /dev/null
@@ -1,108 +0,0 @@
-using Ryujinx.Cpu;
-using Ryujinx.HLE.HOS.Kernel.Threading;
-using System;
-
-namespace Ryujinx.HLE.HOS.Services.Time.Clock
-{
- class StandardUserSystemClockCore : SystemClockCore
- {
- private StandardLocalSystemClockCore _localSystemClockCore;
- private StandardNetworkSystemClockCore _networkSystemClockCore;
- private bool _autoCorrectionEnabled;
- private SteadyClockTimePoint _autoCorrectionTime;
- private KEvent _autoCorrectionEvent;
-
- public StandardUserSystemClockCore(StandardLocalSystemClockCore localSystemClockCore, StandardNetworkSystemClockCore networkSystemClockCore) : base(localSystemClockCore.GetSteadyClockCore())
- {
- _localSystemClockCore = localSystemClockCore;
- _networkSystemClockCore = networkSystemClockCore;
- _autoCorrectionEnabled = false;
- _autoCorrectionTime = SteadyClockTimePoint.GetRandom();
- _autoCorrectionEvent = null;
- }
-
- protected override ResultCode Flush(SystemClockContext context)
- {
- // As UserSystemClock isn't a real system clock, this shouldn't happens.
- throw new NotImplementedException();
- }
-
- public override ResultCode GetClockContext(ITickSource tickSource, out SystemClockContext context)
- {
- ResultCode result = ApplyAutomaticCorrection(tickSource, false);
-
- context = new SystemClockContext();
-
- if (result == ResultCode.Success)
- {
- return _localSystemClockCore.GetClockContext(tickSource, out context);
- }
-
- return result;
- }
-
- public override ResultCode SetClockContext(SystemClockContext context)
- {
- return ResultCode.NotImplemented;
- }
-
- private ResultCode ApplyAutomaticCorrection(ITickSource tickSource, bool autoCorrectionEnabled)
- {
- ResultCode result = ResultCode.Success;
-
- if (_autoCorrectionEnabled != autoCorrectionEnabled && _networkSystemClockCore.IsClockSetup(tickSource))
- {
- result = _networkSystemClockCore.GetClockContext(tickSource, out SystemClockContext context);
-
- if (result == ResultCode.Success)
- {
- _localSystemClockCore.SetClockContext(context);
- }
- }
-
- return result;
- }
-
- internal void CreateAutomaticCorrectionEvent(Horizon system)
- {
- _autoCorrectionEvent = new KEvent(system.KernelContext);
- }
-
- public ResultCode SetAutomaticCorrectionEnabled(ITickSource tickSource, bool autoCorrectionEnabled)
- {
- ResultCode result = ApplyAutomaticCorrection(tickSource, autoCorrectionEnabled);
-
- if (result == ResultCode.Success)
- {
- _autoCorrectionEnabled = autoCorrectionEnabled;
- }
-
- return result;
- }
-
- public bool IsAutomaticCorrectionEnabled()
- {
- return _autoCorrectionEnabled;
- }
-
- public KReadableEvent GetAutomaticCorrectionReadableEvent()
- {
- return _autoCorrectionEvent.ReadableEvent;
- }
-
- public void SetAutomaticCorrectionUpdatedTime(SteadyClockTimePoint steadyClockTimePoint)
- {
- _autoCorrectionTime = steadyClockTimePoint;
- }
-
- public SteadyClockTimePoint GetAutomaticCorrectionUpdatedTime()
- {
- return _autoCorrectionTime;
- }
-
- public void SignalAutomaticCorrectionEvent()
- {
- _autoCorrectionEvent.WritableEvent.Signal();
- }
- }
-}