diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-11-08 23:58:58 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-11-08 23:58:58 -0500 |
| commit | 24532f3e2d7de2542b664383c5e0bc0cce61d7fc (patch) | |
| tree | be7f3db9c582a7ce2810879ca8e1351cb4038bfb /MediaBrowser.Server.Startup.Common/Threading/PeriodicTimer.cs | |
| parent | 15ebff2b3a738855d6c35fafc37d40a72293eef8 (diff) | |
update power management
Diffstat (limited to 'MediaBrowser.Server.Startup.Common/Threading/PeriodicTimer.cs')
| -rw-r--r-- | MediaBrowser.Server.Startup.Common/Threading/PeriodicTimer.cs | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/MediaBrowser.Server.Startup.Common/Threading/PeriodicTimer.cs b/MediaBrowser.Server.Startup.Common/Threading/PeriodicTimer.cs deleted file mode 100644 index 3e898adfd..000000000 --- a/MediaBrowser.Server.Startup.Common/Threading/PeriodicTimer.cs +++ /dev/null @@ -1,72 +0,0 @@ -using System; -using System.Threading; -using Microsoft.Win32; - -namespace MediaBrowser.Server.Startup.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); - - Microsoft.Win32.SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; - } - } - - private void DisposeTimer() - { - Microsoft.Win32.SystemEvents.PowerModeChanged -= SystemEvents_PowerModeChanged; - - lock (_timerLock) - { - if (_timer != null) - { - _timer.Dispose(); - _timer = null; - } - } - } - - public void Dispose() - { - DisposeTimer(); - } - } -} |
