diff options
Diffstat (limited to 'MediaBrowser.Model/Tasks')
| -rw-r--r-- | MediaBrowser.Model/Tasks/IConfigurableScheduledTask.cs | 18 | ||||
| -rw-r--r-- | MediaBrowser.Model/Tasks/IScheduledTask.cs | 47 | ||||
| -rw-r--r-- | MediaBrowser.Model/Tasks/TaskExecutionOptions.cs | 11 | ||||
| -rw-r--r-- | MediaBrowser.Model/Tasks/TaskTriggerInfo.cs | 6 |
4 files changed, 82 insertions, 0 deletions
diff --git a/MediaBrowser.Model/Tasks/IConfigurableScheduledTask.cs b/MediaBrowser.Model/Tasks/IConfigurableScheduledTask.cs new file mode 100644 index 000000000..ed981a905 --- /dev/null +++ b/MediaBrowser.Model/Tasks/IConfigurableScheduledTask.cs @@ -0,0 +1,18 @@ +namespace MediaBrowser.Model.Tasks +{ + public interface IConfigurableScheduledTask + { + /// <summary> + /// Gets a value indicating whether this instance is hidden. + /// </summary> + /// <value><c>true</c> if this instance is hidden; otherwise, <c>false</c>.</value> + bool IsHidden { get; } + /// <summary> + /// Gets a value indicating whether this instance is enabled. + /// </summary> + /// <value><c>true</c> if this instance is enabled; otherwise, <c>false</c>.</value> + bool IsEnabled { get; } + + bool IsLogged { get; } + } +}
\ No newline at end of file diff --git a/MediaBrowser.Model/Tasks/IScheduledTask.cs b/MediaBrowser.Model/Tasks/IScheduledTask.cs new file mode 100644 index 000000000..81ba239ad --- /dev/null +++ b/MediaBrowser.Model/Tasks/IScheduledTask.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; + +namespace MediaBrowser.Model.Tasks +{ + /// <summary> + /// Interface IScheduledTaskWorker + /// </summary> + public interface IScheduledTask + { + /// <summary> + /// Gets the name of the task + /// </summary> + /// <value>The name.</value> + string Name { get; } + + string Key { get; } + + /// <summary> + /// Gets the description. + /// </summary> + /// <value>The description.</value> + string Description { get; } + + /// <summary> + /// Gets the category. + /// </summary> + /// <value>The category.</value> + string Category { get; } + + /// <summary> + /// Executes the task + /// </summary> + /// <param name="cancellationToken">The cancellation token.</param> + /// <param name="progress">The progress.</param> + /// <returns>Task.</returns> + Task Execute(CancellationToken cancellationToken, IProgress<double> progress); + + /// <summary> + /// Gets the default triggers. + /// </summary> + /// <returns>IEnumerable{BaseTaskTrigger}.</returns> + IEnumerable<TaskTriggerInfo> GetDefaultTriggers(); + } +} diff --git a/MediaBrowser.Model/Tasks/TaskExecutionOptions.cs b/MediaBrowser.Model/Tasks/TaskExecutionOptions.cs new file mode 100644 index 000000000..faba35b22 --- /dev/null +++ b/MediaBrowser.Model/Tasks/TaskExecutionOptions.cs @@ -0,0 +1,11 @@ + +namespace MediaBrowser.Model.Tasks +{ + /// <summary> + /// A class that encomposases all common task run properties. + /// </summary> + public class TaskExecutionOptions + { + public int? MaxRuntimeMs { get; set; } + } +} diff --git a/MediaBrowser.Model/Tasks/TaskTriggerInfo.cs b/MediaBrowser.Model/Tasks/TaskTriggerInfo.cs index aacd56e65..69578c41d 100644 --- a/MediaBrowser.Model/Tasks/TaskTriggerInfo.cs +++ b/MediaBrowser.Model/Tasks/TaskTriggerInfo.cs @@ -42,5 +42,11 @@ namespace MediaBrowser.Model.Tasks /// </summary> /// <value>The maximum runtime ms.</value> public int? MaxRuntimeMs { get; set; } + + public const string TriggerDaily = "DailyTrigger"; + public const string TriggerWeekly = "WeeklyTrigger"; + public const string TriggerInterval = "IntervalTrigger"; + public const string TriggerSystemEvent = "SystemEventTrigger"; + public const string TriggerStartup = "StartupTrigger"; } } |
