// -------------------------------------------------------------------------------------------------------------------- // // This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. // // // Encode Progess Status // // -------------------------------------------------------------------------------------------------------------------- namespace HandBrake.ApplicationServices.Services.Interfaces { using System; using HandBrake.ApplicationServices.EventArgs; using HandBrake.ApplicationServices.Model; /// /// Encode Progess Status /// /// /// The sender. /// /// /// The EncodeProgressEventArgs. /// public delegate void EncodeProgessStatus(object sender, EncodeProgressEventArgs e); /// /// Encode Progess Status /// /// /// The sender. /// /// /// The EncodeProgressEventArgs. /// public delegate void EncodeCompletedStatus(object sender, EncodeCompletedEventArgs e); /// /// The IEncode Interface /// public interface IEncode { /// /// Fires when a new CLI Job starts /// event EventHandler EncodeStarted; /// /// Fires when a CLI job finishes. /// event EncodeCompletedStatus EncodeCompleted; /// /// Encode process has progressed /// event EncodeProgessStatus EncodeStatusChanged; /// /// Gets a value indicating whether IsEncoding. /// bool IsEncoding { get; } /// /// Gets ActivityLog. /// string ActivityLog { get; } /// /// Gets the log index. The current log row counter. /// int LogIndex { get; } /// /// Gets a value indicating whether can pause. /// bool CanPause { get; } /// /// Gets a value indicating whether is pasued. /// bool IsPasued { get; } /// /// Start with a LibHb EncodeJob Object /// /// /// The job. /// void Start(QueueTask job); /// /// The pause. /// void Pause(); /// /// The resume. /// void Resume(); /// /// Kill the CLI process /// void Stop(); /// /// Copy the log file to the desired destinations /// /// /// The destination. /// /// /// The configuration. /// void ProcessLogs(string destination, HBConfiguration configuration); /// /// Shutdown the service. /// void Shutdown(); } }