diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations')
26 files changed, 158 insertions, 86 deletions
diff --git a/MediaBrowser.Server.Implementations/Channels/RefreshChannelsScheduledTask.cs b/MediaBrowser.Server.Implementations/Channels/RefreshChannelsScheduledTask.cs index 5ac3da3db..4202870bd 100644 --- a/MediaBrowser.Server.Implementations/Channels/RefreshChannelsScheduledTask.cs +++ b/MediaBrowser.Server.Implementations/Channels/RefreshChannelsScheduledTask.cs @@ -5,10 +5,11 @@ using MediaBrowser.Model.Logging; using System; using System.Collections.Generic; using System.Threading.Tasks; +using MediaBrowser.Model.Tasks; namespace MediaBrowser.Server.Implementations.Channels { - class RefreshChannelsScheduledTask : IScheduledTask, IConfigurableScheduledTask + class RefreshChannelsScheduledTask : IScheduledTask { private readonly IChannelManager _channelManager; private readonly IUserManager _userManager; @@ -48,14 +49,23 @@ namespace MediaBrowser.Server.Implementations.Channels .ConfigureAwait(false); } - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + /// <summary> + /// Creates the triggers that define when the task will run + /// </summary> + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { - return new ITaskTrigger[] - { - new IntervalTrigger{ Interval = TimeSpan.FromHours(24)} + return new[] { + + // Every so often + new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks} }; } + public string Key + { + get { return "RefreshInternetChannels"; } + } + public bool IsHidden { get { return false; } diff --git a/MediaBrowser.Server.Implementations/EntryPoints/ActivityLogEntryPoint.cs b/MediaBrowser.Server.Implementations/EntryPoints/ActivityLogEntryPoint.cs index a36583a41..6e4451d96 100644 --- a/MediaBrowser.Server.Implementations/EntryPoints/ActivityLogEntryPoint.cs +++ b/MediaBrowser.Server.Implementations/EntryPoints/ActivityLogEntryPoint.cs @@ -401,8 +401,8 @@ namespace MediaBrowser.Server.Implementations.EntryPoints { var task = e.Argument; - var activityTask = task.ScheduledTask as IScheduledTaskActivityLog; - if (activityTask != null && !activityTask.IsActivityLogged) + var activityTask = task.ScheduledTask as IConfigurableScheduledTask; + if (activityTask != null && !activityTask.IsLogged) { return; } @@ -419,8 +419,8 @@ namespace MediaBrowser.Server.Implementations.EntryPoints var result = e.Result; var task = e.Task; - var activityTask = task.ScheduledTask as IScheduledTaskActivityLog; - if (activityTask != null && !activityTask.IsActivityLogged) + var activityTask = task.ScheduledTask as IConfigurableScheduledTask; + if (activityTask != null && !activityTask.IsLogged) { return; } diff --git a/MediaBrowser.Server.Implementations/FileOrganization/OrganizerScheduledTask.cs b/MediaBrowser.Server.Implementations/FileOrganization/OrganizerScheduledTask.cs index de98b83ef..2cc8d0ea5 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/OrganizerScheduledTask.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/OrganizerScheduledTask.cs @@ -10,10 +10,11 @@ using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using CommonIO; +using MediaBrowser.Model.Tasks; namespace MediaBrowser.Server.Implementations.FileOrganization { - public class OrganizerScheduledTask : IScheduledTask, IConfigurableScheduledTask, IScheduledTaskActivityLog, IHasKey + public class OrganizerScheduledTask : IScheduledTask, IConfigurableScheduledTask { private readonly ILibraryMonitor _libraryMonitor; private readonly ILibraryManager _libraryManager; @@ -63,12 +64,17 @@ namespace MediaBrowser.Server.Implementations.FileOrganization } } - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + /// <summary> + /// Creates the triggers that define when the task will run + /// </summary> + /// <returns>IEnumerable{BaseTaskTrigger}.</returns> + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { - return new ITaskTrigger[] - { - new IntervalTrigger{ Interval = TimeSpan.FromMinutes(5)} - }; + return new[] { + + // Every so often + new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromMinutes(5).Ticks} + }; } public bool IsHidden @@ -81,7 +87,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization get { return GetAutoOrganizeOptions().TvOptions.IsEnabled; } } - public bool IsActivityLogged + public bool IsLogged { get { return false; } } diff --git a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs index b3d3ec13c..21522a9da 100644 --- a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs +++ b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs @@ -23,6 +23,7 @@ using MediaBrowser.Common.IO; using MediaBrowser.Common.Net; using MediaBrowser.Common.Security; using MediaBrowser.Model.Extensions; +using MediaBrowser.Model.IO; namespace MediaBrowser.Server.Implementations.HttpServer { diff --git a/MediaBrowser.Server.Implementations/HttpServer/ServerFactory.cs b/MediaBrowser.Server.Implementations/HttpServer/ServerFactory.cs index 8a7c14eb6..b2cbf2387 100644 --- a/MediaBrowser.Server.Implementations/HttpServer/ServerFactory.cs +++ b/MediaBrowser.Server.Implementations/HttpServer/ServerFactory.cs @@ -3,6 +3,7 @@ using MediaBrowser.Common.IO; using MediaBrowser.Common.Net; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Net; +using MediaBrowser.Model.IO; using MediaBrowser.Model.Logging; using ServiceStack.Logging; diff --git a/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs b/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs index b090c97c6..5509eb627 100644 --- a/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs +++ b/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs @@ -10,6 +10,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using MediaBrowser.Common.IO; +using MediaBrowser.Model.IO; namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp { diff --git a/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpRequest.cs b/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpRequest.cs index b5c8d0107..59e0b2a9b 100644 --- a/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpRequest.cs +++ b/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpRequest.cs @@ -4,6 +4,7 @@ using System.IO; using System.Text; using Funq; using MediaBrowser.Common.IO; +using MediaBrowser.Model.IO; using MediaBrowser.Model.Logging; using ServiceStack; using ServiceStack.Host; diff --git a/MediaBrowser.Server.Implementations/Library/SearchEngine.cs b/MediaBrowser.Server.Implementations/Library/SearchEngine.cs index 40cca7bab..3dff16e24 100644 --- a/MediaBrowser.Server.Implementations/Library/SearchEngine.cs +++ b/MediaBrowser.Server.Implementations/Library/SearchEngine.cs @@ -10,6 +10,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using MediaBrowser.Controller.Extensions; namespace MediaBrowser.Server.Implementations.Library { diff --git a/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs b/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs index 3fb1d9661..ad7f839e8 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/RefreshChannelsScheduledTask.cs @@ -6,10 +6,11 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using MediaBrowser.Model.Tasks; namespace MediaBrowser.Server.Implementations.LiveTv { - public class RefreshChannelsScheduledTask : IScheduledTask, IConfigurableScheduledTask, IHasKey + public class RefreshChannelsScheduledTask : IScheduledTask, IConfigurableScheduledTask { private readonly ILiveTvManager _liveTvManager; private readonly IConfigurationManager _config; @@ -42,11 +43,16 @@ namespace MediaBrowser.Server.Implementations.LiveTv return manager.RefreshChannels(progress, cancellationToken); } - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + /// <summary> + /// Creates the triggers that define when the task will run + /// </summary> + /// <returns>IEnumerable{BaseTaskTrigger}.</returns> + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { - return new ITaskTrigger[] - { - new IntervalTrigger{ Interval = TimeSpan.FromHours(12)} + return new[] { + + // Every so often + new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(12).Ticks} }; } @@ -65,6 +71,11 @@ namespace MediaBrowser.Server.Implementations.LiveTv get { return true; } } + public bool IsLogged + { + get { return true; } + } + public string Key { get { return "RefreshGuide"; } diff --git a/MediaBrowser.Server.Implementations/Persistence/CleanDatabaseScheduledTask.cs b/MediaBrowser.Server.Implementations/Persistence/CleanDatabaseScheduledTask.cs index c1394ee1c..0916f19f7 100644 --- a/MediaBrowser.Server.Implementations/Persistence/CleanDatabaseScheduledTask.cs +++ b/MediaBrowser.Server.Implementations/Persistence/CleanDatabaseScheduledTask.cs @@ -18,6 +18,7 @@ using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Controller.Localization; using MediaBrowser.Controller.Net; +using MediaBrowser.Model.Tasks; using MediaBrowser.Server.Implementations.ScheduledTasks; namespace MediaBrowser.Server.Implementations.Persistence @@ -337,12 +338,22 @@ namespace MediaBrowser.Server.Implementations.Persistence } } - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + /// <summary> + /// Creates the triggers that define when the task will run + /// </summary> + /// <returns>IEnumerable{BaseTaskTrigger}.</returns> + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { - return new ITaskTrigger[] - { - new IntervalTrigger{ Interval = TimeSpan.FromHours(24)} + return new[] { + + // Every so often + new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks} }; } + + public string Key + { + get { return "CleanDatabase"; } + } } }
\ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Persistence/DataExtensions.cs b/MediaBrowser.Server.Implementations/Persistence/DataExtensions.cs index 028465354..86ecbd24d 100644 --- a/MediaBrowser.Server.Implementations/Persistence/DataExtensions.cs +++ b/MediaBrowser.Server.Implementations/Persistence/DataExtensions.cs @@ -5,6 +5,7 @@ using System; using System.Data; using System.IO; using MediaBrowser.Common.IO; +using MediaBrowser.Model.IO; namespace MediaBrowser.Server.Implementations.Persistence { diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteDisplayPreferencesRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteDisplayPreferencesRepository.cs index 1726a77a6..3d20cad36 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteDisplayPreferencesRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteDisplayPreferencesRepository.cs @@ -11,6 +11,7 @@ using System.IO; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Common.IO; +using MediaBrowser.Model.IO; namespace MediaBrowser.Server.Implementations.Persistence { diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs index f33b18389..c76cbf8ae 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs @@ -23,8 +23,10 @@ using MediaBrowser.Common.IO; using MediaBrowser.Controller.Channels; using MediaBrowser.Controller.Collections; using MediaBrowser.Controller.Configuration; +using MediaBrowser.Controller.Extensions; using MediaBrowser.Controller.Playlists; using MediaBrowser.Model.Dto; +using MediaBrowser.Model.IO; using MediaBrowser.Model.LiveTv; using MediaBrowser.Server.Implementations.Devices; using MediaBrowser.Server.Implementations.Playlists; diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs index 31fa78806..c3cf4acc4 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs @@ -10,6 +10,7 @@ using System.IO; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Common.IO; +using MediaBrowser.Model.IO; namespace MediaBrowser.Server.Implementations.Persistence { diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs index 607a043a6..9ff1172f3 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs @@ -13,6 +13,7 @@ using System.Threading; using System.Threading.Tasks; using CommonIO; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Tasks; namespace MediaBrowser.Server.Implementations.ScheduledTasks { @@ -62,20 +63,22 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks /// <summary> /// Creates the triggers that define when the task will run /// </summary> - /// <returns>IEnumerable{BaseTaskTrigger}.</returns> - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { - return new ITaskTrigger[] + return new[] { + + new TaskTriggerInfo { - new DailyTrigger - { - TimeOfDay = TimeSpan.FromHours(1), - TaskOptions = new TaskExecutionOptions - { - MaxRuntimeMs = Convert.ToInt32(TimeSpan.FromHours(4).TotalMilliseconds) - } - } - }; + Type = TaskTriggerInfo.TriggerDaily, + TimeOfDayTicks = TimeSpan.FromHours(1).Ticks, + MaxRuntimeMs = Convert.ToInt32(TimeSpan.FromHours(4).TotalMilliseconds) + } + }; + } + + public string Key + { + get { return "RefreshChapterImages"; } } /// <summary> diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/PeopleValidationTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/PeopleValidationTask.cs index 05c3db63c..0315410cd 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/PeopleValidationTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/PeopleValidationTask.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller; +using MediaBrowser.Model.Tasks; namespace MediaBrowser.Server.Implementations.ScheduledTasks { @@ -33,16 +34,21 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks /// <summary> /// Creates the triggers that define when the task will run /// </summary> - /// <returns>IEnumerable{BaseTaskTrigger}.</returns> - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { // Randomize the default start hour because this operation can really hammer internet metadata providers var startHour = new Random(_appHost.SystemId.GetHashCode()).Next(0, 8); - return new ITaskTrigger[] - { - new DailyTrigger { TimeOfDay = TimeSpan.FromHours(startHour) }, - }; + return new[] { + + // Every so often + new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerDaily, TimeOfDayTicks = TimeSpan.FromHours(startHour).Ticks} + }; + } + + public string Key + { + get { return "RefreshPeople"; } } /// <summary> diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs index ff0960259..a2d587087 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs @@ -9,6 +9,7 @@ using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; +using MediaBrowser.Model.Tasks; namespace MediaBrowser.Server.Implementations.ScheduledTasks { @@ -37,18 +38,23 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks /// Creates the triggers that define when the task will run /// </summary> /// <returns>IEnumerable{BaseTaskTrigger}.</returns> - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { - return new ITaskTrigger[] { + return new[] { // At startup - new StartupTrigger(), + new TaskTriggerInfo {Type = TaskTriggerInfo.TriggerStartup}, // Every so often - new IntervalTrigger { Interval = TimeSpan.FromHours(24)} + new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks} }; } + public string Key + { + get { return "PluginUpdates"; } + } + /// <summary> /// Update installed plugins /// </summary> diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs index 64ae249cd..e8e557e76 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs @@ -7,13 +7,14 @@ using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; +using MediaBrowser.Model.Tasks; namespace MediaBrowser.Server.Implementations.ScheduledTasks { /// <summary> /// Class RefreshMediaLibraryTask /// </summary> - public class RefreshMediaLibraryTask : IScheduledTask, IHasKey + public class RefreshMediaLibraryTask : IScheduledTask { /// <summary> /// The _library manager @@ -32,18 +33,16 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks } /// <summary> - /// Gets the default triggers. + /// Creates the triggers that define when the task will run /// </summary> /// <returns>IEnumerable{BaseTaskTrigger}.</returns> - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { - var list = new ITaskTrigger[] { - - new IntervalTrigger{ Interval = TimeSpan.FromHours(12)} - - }.ToList(); - - return list; + return new[] { + + // Every so often + new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(12).Ticks} + }; } /// <summary> diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs index 0ba9d4f32..34a75c0c7 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs @@ -6,13 +6,14 @@ using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; +using MediaBrowser.Model.Tasks; namespace MediaBrowser.Server.Implementations.ScheduledTasks { /// <summary> /// Plugin Update Task /// </summary> - public class SystemUpdateTask : IScheduledTask, IHasKey + public class SystemUpdateTask : IScheduledTask { /// <summary> /// The _app host @@ -47,16 +48,15 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks /// Creates the triggers that define when the task will run /// </summary> /// <returns>IEnumerable{BaseTaskTrigger}.</returns> - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { - // Until we can vary these default triggers per server and MBT, we need something that makes sense for both - return new ITaskTrigger[] { + return new[] { // At startup - new StartupTrigger(), + new TaskTriggerInfo {Type = TaskTriggerInfo.TriggerStartup}, // Every so often - new IntervalTrigger { Interval = TimeSpan.FromHours(24)} + new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks} }; } diff --git a/MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs b/MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs index 893592fa3..a9b6ad6a5 100644 --- a/MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs +++ b/MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs @@ -14,6 +14,7 @@ using System.Net.Sockets; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Common.IO; +using MediaBrowser.Model.IO; namespace MediaBrowser.Server.Implementations.ServerManager { diff --git a/MediaBrowser.Server.Implementations/ServerManager/WebSocketConnection.cs b/MediaBrowser.Server.Implementations/ServerManager/WebSocketConnection.cs index 60b04cf82..a1c23edf1 100644 --- a/MediaBrowser.Server.Implementations/ServerManager/WebSocketConnection.cs +++ b/MediaBrowser.Server.Implementations/ServerManager/WebSocketConnection.cs @@ -10,6 +10,7 @@ using System.IO; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Common.IO; +using MediaBrowser.Model.IO; using UniversalDetector; namespace MediaBrowser.Server.Implementations.ServerManager diff --git a/MediaBrowser.Server.Implementations/Sync/ServerSyncScheduledTask.cs b/MediaBrowser.Server.Implementations/Sync/ServerSyncScheduledTask.cs index 28813c715..def156dfb 100644 --- a/MediaBrowser.Server.Implementations/Sync/ServerSyncScheduledTask.cs +++ b/MediaBrowser.Server.Implementations/Sync/ServerSyncScheduledTask.cs @@ -9,10 +9,11 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; using CommonIO; +using MediaBrowser.Model.Tasks; namespace MediaBrowser.Server.Implementations.Sync { - class ServerSyncScheduledTask : IScheduledTask, IConfigurableScheduledTask, IHasKey + class ServerSyncScheduledTask : IScheduledTask, IConfigurableScheduledTask { private readonly ISyncManager _syncManager; private readonly ILogger _logger; @@ -58,14 +59,17 @@ namespace MediaBrowser.Server.Implementations.Sync get { return ((SyncManager)_syncManager).ServerSyncProviders; } } - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + /// <summary> + /// Creates the triggers that define when the task will run + /// </summary> + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { - return new ITaskTrigger[] - { - new IntervalTrigger { Interval = TimeSpan.FromHours(3) } - }; + return new[] { + + // Every so often + new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(3).Ticks} + }; } - public bool IsHidden { get { return !IsEnabled; } @@ -76,6 +80,11 @@ namespace MediaBrowser.Server.Implementations.Sync get { return ServerSyncProviders.Any(); } } + public bool IsLogged + { + get { return true; } + } + public string Key { get { return "ServerSync"; } diff --git a/MediaBrowser.Server.Implementations/Sync/SyncConvertScheduledTask.cs b/MediaBrowser.Server.Implementations/Sync/SyncConvertScheduledTask.cs index 3f9eb7691..8601e3610 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncConvertScheduledTask.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncConvertScheduledTask.cs @@ -10,10 +10,11 @@ using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using CommonIO; +using MediaBrowser.Model.Tasks; namespace MediaBrowser.Server.Implementations.Sync { - public class SyncConvertScheduledTask : IScheduledTask, IConfigurableScheduledTask, IHasKey + public class SyncConvertScheduledTask : IScheduledTask { private readonly ILibraryManager _libraryManager; private readonly ISyncRepository _syncRepo; @@ -66,22 +67,17 @@ namespace MediaBrowser.Server.Implementations.Sync .Sync(progress, cancellationToken); } - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + /// <summary> + /// Creates the triggers that define when the task will run + /// </summary> + /// <returns>IEnumerable{BaseTaskTrigger}.</returns> + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { - return new ITaskTrigger[] - { - new IntervalTrigger { Interval = TimeSpan.FromHours(3) } - }; - } - - public bool IsHidden - { - get { return false; } - } - - public bool IsEnabled - { - get { return true; } + return new[] { + + // Every so often + new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(3).Ticks} + }; } public string Key diff --git a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs index ff5f1a64e..c1eeec26b 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs @@ -25,6 +25,7 @@ using System.Threading; using System.Threading.Tasks; using CommonIO; using MediaBrowser.Model.Extensions; +using MediaBrowser.Model.IO; namespace MediaBrowser.Server.Implementations.Sync { diff --git a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs index a40e3e258..eaf129e63 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs @@ -30,6 +30,7 @@ using System.Threading; using System.Threading.Tasks; using CommonIO; using MediaBrowser.Common.IO; +using MediaBrowser.Model.IO; namespace MediaBrowser.Server.Implementations.Sync { diff --git a/MediaBrowser.Server.Implementations/Sync/TargetDataProvider.cs b/MediaBrowser.Server.Implementations/Sync/TargetDataProvider.cs index 32a600371..5edc56722 100644 --- a/MediaBrowser.Server.Implementations/Sync/TargetDataProvider.cs +++ b/MediaBrowser.Server.Implementations/Sync/TargetDataProvider.cs @@ -13,6 +13,7 @@ using System.Threading.Tasks; using CommonIO; using Interfaces.IO; using MediaBrowser.Common.IO; +using MediaBrowser.Model.IO; namespace MediaBrowser.Server.Implementations.Sync { |
