aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Services/Time/ISystemClock.cs
diff options
context:
space:
mode:
authorAc_K <Acoustik666@gmail.com>2019-09-19 02:45:11 +0200
committerjduncanator <1518948+jduncanator@users.noreply.github.com>2019-09-19 10:45:11 +1000
commita0720b5681852f3d786d77bd3793b0359dea321c (patch)
tree9d8f61e540d1d1d827999902dad95e5c0c1e076e /Ryujinx.HLE/HOS/Services/Time/ISystemClock.cs
parent4af3101b22e6957d6aa48a2768566d658699f4ed (diff)
Refactoring HOS folder structure (#771)
* Refactoring HOS folder structure Refactoring HOS folder structure: - Added some subfolders when needed (Following structure decided in private). - Added some `Types` folders when needed. - Little cleanup here and there. - Add services placeholders for every HOS services (close #766 and #753). * Remove Types namespaces
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Time/ISystemClock.cs')
-rw-r--r--Ryujinx.HLE/HOS/Services/Time/ISystemClock.cs107
1 files changed, 0 insertions, 107 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Time/ISystemClock.cs b/Ryujinx.HLE/HOS/Services/Time/ISystemClock.cs
deleted file mode 100644
index d496dcdc..00000000
--- a/Ryujinx.HLE/HOS/Services/Time/ISystemClock.cs
+++ /dev/null
@@ -1,107 +0,0 @@
-using Ryujinx.Common;
-using Ryujinx.HLE.HOS.Services.Time.Clock;
-
-namespace Ryujinx.HLE.HOS.Services.Time
-{
- class ISystemClock : IpcService
- {
- private SystemClockCore _clockCore;
- private bool _writePermission;
-
- public ISystemClock(SystemClockCore clockCore, bool writePermission)
- {
- _clockCore = clockCore;
- _writePermission = writePermission;
- }
-
- [Command(0)]
- // GetCurrentTime() -> nn::time::PosixTime
- public ResultCode GetCurrentTime(ServiceCtx context)
- {
- SteadyClockCore steadyClockCore = _clockCore.GetSteadyClockCore();
- SteadyClockTimePoint currentTimePoint = steadyClockCore.GetCurrentTimePoint(context.Thread);
-
- ResultCode result = _clockCore.GetSystemClockContext(context.Thread, out SystemClockContext clockContext);
-
- if (result == ResultCode.Success)
- {
- result = ResultCode.TimeMismatch;
-
- if (currentTimePoint.ClockSourceId == clockContext.SteadyTimePoint.ClockSourceId)
- {
- long posixTime = clockContext.Offset + currentTimePoint.TimePoint;
-
- context.ResponseData.Write(posixTime);
-
- result = 0;
- }
- }
-
- return result;
- }
-
- [Command(1)]
- // SetCurrentTime(nn::time::PosixTime)
- public ResultCode SetCurrentTime(ServiceCtx context)
- {
- if (!_writePermission)
- {
- return ResultCode.PermissionDenied;
- }
-
- long posixTime = context.RequestData.ReadInt64();
- SteadyClockCore steadyClockCore = _clockCore.GetSteadyClockCore();
- SteadyClockTimePoint currentTimePoint = steadyClockCore.GetCurrentTimePoint(context.Thread);
-
- SystemClockContext clockContext = new SystemClockContext()
- {
- Offset = posixTime - currentTimePoint.TimePoint,
- SteadyTimePoint = currentTimePoint
- };
-
- ResultCode result = _clockCore.SetSystemClockContext(clockContext);
-
- if (result == ResultCode.Success)
- {
- result = _clockCore.Flush(clockContext);
- }
-
- return result;
- }
-
- [Command(2)]
- // GetSystemClockContext() -> nn::time::SystemClockContext
- public ResultCode GetSystemClockContext(ServiceCtx context)
- {
- ResultCode result = _clockCore.GetSystemClockContext(context.Thread, out SystemClockContext clockContext);
-
- if (result == ResultCode.Success)
- {
- context.ResponseData.WriteStruct(clockContext);
- }
-
- return result;
- }
-
- [Command(3)]
- // SetSystemClockContext(nn::time::SystemClockContext)
- public ResultCode SetSystemClockContext(ServiceCtx context)
- {
- if (!_writePermission)
- {
- return ResultCode.PermissionDenied;
- }
-
- SystemClockContext clockContext = context.RequestData.ReadStruct<SystemClockContext>();
-
- ResultCode result = _clockCore.SetSystemClockContext(clockContext);
-
- if (result == ResultCode.Success)
- {
- result = _clockCore.Flush(clockContext);
- }
-
- return result;
- }
- }
-} \ No newline at end of file