diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-15 00:38:08 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-15 00:38:08 -0500 |
| commit | ca831ae88aaefb07f98d1a337792ea4af608fed0 (patch) | |
| tree | 6807843588bbd13e338559b13f3905ed55f5b51f /MediaBrowser.Server.Implementations | |
| parent | c07d958df9589120251dc6c3f0aa3a083d87fc27 (diff) | |
added live tv events
Diffstat (limited to 'MediaBrowser.Server.Implementations')
| -rw-r--r-- | MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs | 24 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs | 1 |
2 files changed, 23 insertions, 2 deletions
diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs index eff919f17..5da6e697d 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs @@ -1,5 +1,6 @@ using MediaBrowser.Common.Extensions; using MediaBrowser.Common.IO; +using MediaBrowser.Common.ScheduledTasks; using MediaBrowser.Controller; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Drawing; @@ -37,6 +38,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv private readonly IUserDataManager _userDataManager; private readonly ILibraryManager _libraryManager; private readonly IMediaEncoder _mediaEncoder; + private readonly ITaskManager _taskManager; private readonly LiveTvDtoService _tvDtoService; @@ -81,7 +83,27 @@ namespace MediaBrowser.Server.Implementations.LiveTv { _services.AddRange(services); - ActiveService = _services.FirstOrDefault(); + SetActiveService(_services.FirstOrDefault()); + } + + private void SetActiveService(ILiveTvService service) + { + if (ActiveService != null) + { + ActiveService.DataSourceChanged -= service_DataSourceChanged; + } + + ActiveService = service; + + if (service != null) + { + service.DataSourceChanged += service_DataSourceChanged; + } + } + + void service_DataSourceChanged(object sender, EventArgs e) + { + _taskManager.CancelIfRunningAndQueue<RefreshChannelsScheduledTask>(); } public Task<QueryResult<ChannelInfoDto>> GetChannels(ChannelQuery query, CancellationToken cancellationToken) diff --git a/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs b/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs index fe565e094..1edd79d69 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs @@ -42,7 +42,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv { return new ITaskTrigger[] { - new StartupTrigger(), new SystemEventTrigger{ SystemEvent = SystemEvent.WakeFromSleep}, |
