namespace HandBrake.ApplicationServices.Services.Interfaces { using System; /// /// The Queue Processor /// public interface IQueueProcessor { /// /// Fires when the Queue has started /// event QueueProcessor.QueueProgressStatus JobProcessingStarted; /// /// Fires when a pause to the encode queue has been requested. /// event EventHandler QueuePaused; /// /// Fires when the entire encode queue has completed. /// event EventHandler QueueCompleted; /// /// Gets the IEncodeService instance. /// IEncode EncodeService { get; } /// /// Gets the IQueueManager instance. /// IQueueManager QueueManager { get; } /// /// Gets a value indicating whether IsProcessing. /// bool IsProcessing { get; } /// /// Starts encoding the first job in the queue and continues encoding until all jobs /// have been encoded. /// void Start(); /// /// Requests a pause of the encode queue. /// void Pause(); } }