| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Threading.Tasks;
 
- using Jellyfin.Data.Events;
 
- namespace MediaBrowser.Model.Tasks
 
- {
 
-     /// <summary>
 
-     /// Interface for the TaskManager class.
 
-     /// </summary>
 
-     public interface ITaskManager : IDisposable
 
-     {
 
-         /// <summary>
 
-         /// Event handler for task execution.
 
-         /// </summary>
 
-         event EventHandler<GenericEventArgs<IScheduledTaskWorker>>? TaskExecuting;
 
-         /// <summary>
 
-         /// Event handler for task completion.
 
-         /// </summary>
 
-         event EventHandler<TaskCompletionEventArgs>? TaskCompleted;
 
-         /// <summary>
 
-         /// Gets the list of Scheduled Tasks.
 
-         /// </summary>
 
-         /// <value>The scheduled tasks.</value>
 
-         IReadOnlyList<IScheduledTaskWorker> ScheduledTasks { get; }
 
-         /// <summary>
 
-         /// Cancels if running and queue.
 
-         /// </summary>
 
-         /// <typeparam name="T">An implementation of <see cref="IScheduledTask" />.</typeparam>
 
-         /// <param name="options">Task options.</param>
 
-         void CancelIfRunningAndQueue<T>(TaskOptions options)
 
-             where T : IScheduledTask;
 
-         /// <summary>
 
-         /// Cancels if running and queue.
 
-         /// </summary>
 
-         /// <typeparam name="T">An implementation of <see cref="IScheduledTask" />.</typeparam>
 
-         void CancelIfRunningAndQueue<T>()
 
-             where T : IScheduledTask;
 
-         /// <summary>
 
-         /// Cancels if running.
 
-         /// </summary>
 
-         /// <typeparam name="T">An implementation of <see cref="IScheduledTask" />.</typeparam>
 
-         void CancelIfRunning<T>()
 
-             where T : IScheduledTask;
 
-         /// <summary>
 
-         /// Queues the scheduled task.
 
-         /// </summary>
 
-         /// <typeparam name="T">An implementation of <see cref="IScheduledTask" />.</typeparam>
 
-         /// <param name="options">Task options.</param>
 
-         void QueueScheduledTask<T>(TaskOptions options)
 
-             where T : IScheduledTask;
 
-         /// <summary>
 
-         /// Queues the scheduled task.
 
-         /// </summary>
 
-         /// <typeparam name="T">An implementation of <see cref="IScheduledTask" />.</typeparam>
 
-         void QueueScheduledTask<T>()
 
-             where T : IScheduledTask;
 
-         /// <summary>
 
-         /// Queues the scheduled task if it is not already running.
 
-         /// </summary>
 
-         /// <typeparam name="T">An implementation of <see cref="IScheduledTask" />.</typeparam>
 
-         void QueueIfNotRunning<T>()
 
-             where T : IScheduledTask;
 
-         /// <summary>
 
-         /// Queues the scheduled task.
 
-         /// </summary>
 
-         /// <param name="task">The <see cref="IScheduledTask" /> to queue.</param>
 
-         /// <param name="options">The <see cref="TaskOptions" /> to use.</param>
 
-         void QueueScheduledTask(IScheduledTask task, TaskOptions options);
 
-         /// <summary>
 
-         /// Adds the tasks.
 
-         /// </summary>
 
-         /// <param name="tasks">The tasks.</param>
 
-         void AddTasks(IEnumerable<IScheduledTask> tasks);
 
-         /// <summary>
 
-         /// Adds the tasks.
 
-         /// </summary>
 
-         /// <param name="task">The tasks.</param>
 
-         void Cancel(IScheduledTaskWorker task);
 
-         /// <summary>
 
-         /// Executes the tasks.
 
-         /// </summary>
 
-         /// <param name="task">The tasks.</param>
 
-         /// <param name="options">The options.</param>
 
-         /// <returns>The executed tasks.</returns>
 
-         Task Execute(IScheduledTaskWorker task, TaskOptions options);
 
-         /// <summary>
 
-         /// Executes the tasks.
 
-         /// </summary>
 
-         /// <typeparam name="T">An implementation of <see cref="IScheduledTask" />.</typeparam>
 
-         void Execute<T>()
 
-             where T : IScheduledTask;
 
-     }
 
- }
 
 
  |