diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-10-22 16:31:23 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-10-22 16:31:23 -0400 |
| commit | 165b4c2fb8868045cd9dae3f00280e1c7b513acb (patch) | |
| tree | 47a53e6922e3061c7228daa73fb21b72b1e2806e /MediaBrowser.Common/Threading/PeriodicTimer.cs | |
| parent | 3c1114228ba3b6a19cb73fa7f9aaa4e3ce3cab80 (diff) | |
| parent | ce47beba842dc026483dc3649a1efb8c34b30662 (diff) | |
Merge pull request #2251 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Common/Threading/PeriodicTimer.cs')
| -rw-r--r-- | MediaBrowser.Common/Threading/PeriodicTimer.cs | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/MediaBrowser.Common/Threading/PeriodicTimer.cs b/MediaBrowser.Common/Threading/PeriodicTimer.cs deleted file mode 100644 index 75ccada4e..000000000 --- a/MediaBrowser.Common/Threading/PeriodicTimer.cs +++ /dev/null @@ -1,72 +0,0 @@ -using System; -using System.Threading; -using Microsoft.Win32; - -namespace MediaBrowser.Common.Threading -{ - public class PeriodicTimer : IDisposable - { - public Action<object> Callback { get; set; } - private Timer _timer; - private readonly object _state; - private readonly object _timerLock = new object(); - private readonly TimeSpan _period; - - public PeriodicTimer(Action<object> callback, object state, TimeSpan dueTime, TimeSpan period) - { - if (callback == null) - { - throw new ArgumentNullException("callback"); - } - - Callback = callback; - _period = period; - _state = state; - - StartTimer(dueTime); - } - - void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e) - { - if (e.Mode == PowerModes.Resume) - { - DisposeTimer(); - StartTimer(Timeout.InfiniteTimeSpan); - } - } - - private void TimerCallback(object state) - { - Callback(state); - } - - private void StartTimer(TimeSpan dueTime) - { - lock (_timerLock) - { - _timer = new Timer(TimerCallback, _state, dueTime, _period); - - SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; - } - } - - private void DisposeTimer() - { - SystemEvents.PowerModeChanged -= SystemEvents_PowerModeChanged; - - lock (_timerLock) - { - if (_timer != null) - { - _timer.Dispose(); - _timer = null; - } - } - } - - public void Dispose() - { - DisposeTimer(); - } - } -} |
