// Token: 0x060008ED RID: 2285 RVA: 0x0003C688 File Offset: 0x0003A888 private void OnSpool(object state) { bool flag = false; long cookie = (long)state; lock (this) { if (!this.ShouldContinue(cookie)) { return; } TimeSpan dueTime = ScheduledActionBase.GetDueTime(this.ExpectedTime); if (!(flag = (TimeSpan.Zero == dueTime))) { this.Timer.Change((dueTime <= ScheduledActionBase.MaxTimerDueTime) ? dueTime : ScheduledActionBase.MaxTimerDueTime, TimeSpan.FromMilliseconds(-1.0)); } } if (flag) { if (!this.ShouldContinue(cookie)) { return; } this.OnTimer(state); } }
// Token: 0x0600098C RID: 2444 RVA: 0x00040164 File Offset: 0x0003E364 public SchedulingInfo(ScheduledActionBase oldScheduledAction, ScheduledActionBase scheduledAction, Action customizedSteps, string contextInfo) { if (oldScheduledAction != null && scheduledAction != null && oldScheduledAction.GetType() != scheduledAction.GetType()) { throw new ArgumentOutOfRangeException("scheduledAction"); } if (customizedSteps != null && (oldScheduledAction != null || scheduledAction != null)) { throw new ArgumentOutOfRangeException("customizedSteps"); } if (customizedSteps == null && oldScheduledAction == null && scheduledAction == null) { throw new ArgumentNullException("customizedSteps"); } this.OldScheduledAction = oldScheduledAction; this.ScheduledAction = scheduledAction; this.CustomizedSteps = customizedSteps; this.ContextInfo = contextInfo; }
// Token: 0x060008E4 RID: 2276 RVA: 0x0003C470 File Offset: 0x0003A670 public bool Reschedule(ExDateTime expectedTime) { if (this.DisposalRequested) { return(false); } if (this.Dismiss()) { lock (this) { this.ExpectedTime = expectedTime; TimeSpan dueTime = ScheduledActionBase.GetDueTime(this.ExpectedTime); bool flag2 = dueTime <= ScheduledActionBase.MaxTimerDueTime; this.Timer = new Timer(flag2 ? new TimerCallback(this.OnTimer) : new TimerCallback(this.OnSpool), this.TimerCookie, flag2 ? dueTime : ScheduledActionBase.MaxTimerDueTime, TimeSpan.FromMilliseconds(-1.0)); } return(true); } return(false); }
// Token: 0x06000977 RID: 2423 RVA: 0x0003F7AA File Offset: 0x0003D9AA public static void ScheduleAction(ScheduledActionBase action, string callerHint) { CalendarNotificationInitiator.actionSchedulingQueue.Enqueue(new CalendarNotificationInitiator.SchedulingInfo(null, action, null, callerHint)); }