mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-11-04 03:27:21 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			83 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
#pragma warning disable CS1591
 | 
						|
 | 
						|
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Threading.Tasks;
 | 
						|
using Jellyfin.Data.Events;
 | 
						|
 | 
						|
namespace MediaBrowser.Model.Tasks
 | 
						|
{
 | 
						|
    public interface ITaskManager : IDisposable
 | 
						|
    {
 | 
						|
        event EventHandler<GenericEventArgs<IScheduledTaskWorker>> TaskExecuting;
 | 
						|
 | 
						|
        event EventHandler<TaskCompletionEventArgs> TaskCompleted;
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Gets the list of Scheduled Tasks.
 | 
						|
        /// </summary>
 | 
						|
        /// <value>The scheduled tasks.</value>
 | 
						|
        IScheduledTaskWorker[] ScheduledTasks { get; }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Cancels if running and queue.
 | 
						|
        /// </summary>
 | 
						|
        /// <typeparam name="T">An implementatin 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 implementatin of <see cref="IScheduledTask" />.</typeparam>
 | 
						|
        void CancelIfRunningAndQueue<T>()
 | 
						|
            where T : IScheduledTask;
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Cancels if running.
 | 
						|
        /// </summary>
 | 
						|
        /// <typeparam name="T">An implementatin of <see cref="IScheduledTask" />.</typeparam>
 | 
						|
        void CancelIfRunning<T>()
 | 
						|
            where T : IScheduledTask;
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Queues the scheduled task.
 | 
						|
        /// </summary>
 | 
						|
        /// <typeparam name="T">An implementatin 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 implementatin of <see cref="IScheduledTask" />.</typeparam>
 | 
						|
        void QueueScheduledTask<T>()
 | 
						|
            where T : IScheduledTask;
 | 
						|
 | 
						|
        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);
 | 
						|
 | 
						|
        void Cancel(IScheduledTaskWorker task);
 | 
						|
 | 
						|
        Task Execute(IScheduledTaskWorker task, TaskOptions options);
 | 
						|
 | 
						|
        void Execute<T>()
 | 
						|
            where T : IScheduledTask;
 | 
						|
    }
 | 
						|
}
 |