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();
}
}