aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-15 00:38:08 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-15 00:38:08 -0500
commitca831ae88aaefb07f98d1a337792ea4af608fed0 (patch)
tree6807843588bbd13e338559b13f3905ed55f5b51f /MediaBrowser.Server.Implementations
parentc07d958df9589120251dc6c3f0aa3a083d87fc27 (diff)
added live tv events
Diffstat (limited to 'MediaBrowser.Server.Implementations')
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs24
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs1
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},