diff options
Diffstat (limited to 'MediaBrowser.Common.Implementations/ScheduledTasks/TaskManager.cs')
| -rw-r--r-- | MediaBrowser.Common.Implementations/ScheduledTasks/TaskManager.cs | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/MediaBrowser.Common.Implementations/ScheduledTasks/TaskManager.cs b/MediaBrowser.Common.Implementations/ScheduledTasks/TaskManager.cs index 6c72441aa..845c984fb 100644 --- a/MediaBrowser.Common.Implementations/ScheduledTasks/TaskManager.cs +++ b/MediaBrowser.Common.Implementations/ScheduledTasks/TaskManager.cs @@ -12,6 +12,7 @@ using System.Linq; using System.Threading.Tasks; using CommonIO; using MediaBrowser.Common.IO; +using Microsoft.Win32; namespace MediaBrowser.Common.Implementations.ScheduledTasks { @@ -69,6 +70,28 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks _fileSystem = fileSystem; ScheduledTasks = new IScheduledTaskWorker[] { }; + + BindToSystemEvent(); + } + + private void BindToSystemEvent() + { + try + { + SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; + } + catch + { + + } + } + + void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e) + { + foreach (var task in ScheduledTasks) + { + task.ReloadTriggerEvents(); + } } /// <summary> @@ -127,7 +150,7 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks { QueueScheduledTask<T>(new TaskExecutionOptions()); } - + /// <summary> /// Queues the scheduled task. /// </summary> |
