public void Initialize(Switch device, Horizon system, KSharedMemory sharedMemory, long timeSharedMemoryAddress, int timeSharedMemorySize) { SharedMemory.Initialize(device, sharedMemory, timeSharedMemoryAddress, timeSharedMemorySize); // Here we use system on purpose as device. System isn't initialized at this point. StandardUserSystemClock.CreateAutomaticCorrectionEvent(system); }
public void SetupStandardUserSystemClock(KThread thread, bool isAutomaticCorrectionEnabled, SteadyClockTimePoint steadyClockTimePoint) { if (StandardUserSystemClock.SetAutomaticCorrectionEnabled(thread, isAutomaticCorrectionEnabled) != ResultCode.Success) { throw new InternalServiceException("Cannot set automatic user time correction state"); } StandardUserSystemClock.SetAutomaticCorrectionUpdatedTime(steadyClockTimePoint); StandardUserSystemClock.MarkInitialized(); SharedMemory.SetAutomaticCorrectionEnabled(isAutomaticCorrectionEnabled); // TODO: propagate IPC late binding of "time:s" and "time:p" }