diff options
author | Scott <[email protected]> | 2015-09-26 20:58:05 +0100 |
---|---|---|
committer | Scott <[email protected]> | 2015-09-26 21:30:31 +0100 |
commit | e703a7961f12a3e02c475754862a1f4a57a04646 (patch) | |
tree | bc0a611446ab624082b27ebcc22980f250a05838 /win/CS/HandBrakeWPF/Services/Encode/Interfaces/IEncode.cs | |
parent | efcddfdf4fc67f59bf09154a0c8d2d20ba61c895 (diff) |
AppServices tidyup
Moving the UI modelling and services to the GUI Project.
Diffstat (limited to 'win/CS/HandBrakeWPF/Services/Encode/Interfaces/IEncode.cs')
-rw-r--r-- | win/CS/HandBrakeWPF/Services/Encode/Interfaces/IEncode.cs | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/win/CS/HandBrakeWPF/Services/Encode/Interfaces/IEncode.cs b/win/CS/HandBrakeWPF/Services/Encode/Interfaces/IEncode.cs new file mode 100644 index 000000000..1e81ed5ed --- /dev/null +++ b/win/CS/HandBrakeWPF/Services/Encode/Interfaces/IEncode.cs @@ -0,0 +1,119 @@ +// -------------------------------------------------------------------------------------------------------------------- +// <copyright file="IEncode.cs" company="HandBrake Project (http://handbrake.fr)"> +// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. +// </copyright> +// <summary> +// Encode Progess Status +// </summary> +// -------------------------------------------------------------------------------------------------------------------- + +namespace HandBrakeWPF.Services.Encode.Interfaces +{ + using System; + + using HandBrake.ApplicationServices.Model; + + using EncodeCompletedEventArgs = HandBrakeWPF.Services.Encode.EventArgs.EncodeCompletedEventArgs; + using EncodeProgressEventArgs = HandBrakeWPF.Services.Encode.EventArgs.EncodeProgressEventArgs; + using EncodeTask = HandBrakeWPF.Services.Encode.Model.EncodeTask; + + /// <summary> + /// Encode Progess Status + /// </summary> + /// <param name="sender"> + /// The sender. + /// </param> + /// <param name="e"> + /// The EncodeProgressEventArgs. + /// </param> + public delegate void EncodeProgessStatus(object sender, EncodeProgressEventArgs e); + + /// <summary> + /// Encode Progess Status + /// </summary> + /// <param name="sender"> + /// The sender. + /// </param> + /// <param name="e"> + /// The EncodeProgressEventArgs. + /// </param> + public delegate void EncodeCompletedStatus(object sender, EncodeCompletedEventArgs e); + + /// <summary> + /// The IEncode Interface + /// </summary> + public interface IEncode + { + /// <summary> + /// Fires when a new Job starts + /// </summary> + event EventHandler EncodeStarted; + + /// <summary> + /// Fires when a job finishes. + /// </summary> + event EncodeCompletedStatus EncodeCompleted; + + /// <summary> + /// Encode process has progressed + /// </summary> + event EncodeProgessStatus EncodeStatusChanged; + + /// <summary> + /// Gets a value indicating whether IsEncoding. + /// </summary> + bool IsEncoding { get; } + + /// <summary> + /// Gets ActivityLog. + /// </summary> + string ActivityLog { get; } + + /// <summary> + /// Gets the log index. The current log row counter. + /// </summary> + int LogIndex { get; } + + /// <summary> + /// Gets a value indicating whether is pasued. + /// </summary> + bool IsPasued { get; } + + /// <summary> + /// Start with a LibHb EncodeJob Object + /// </summary> + /// <param name="job"> + /// The job. + /// </param> + /// <param name="configuration"> + /// The configuration. + /// </param> + void Start(EncodeTask job, HBConfiguration configuration); + + /// <summary> + /// The pause. + /// </summary> + void Pause(); + + /// <summary> + /// The resume. + /// </summary> + void Resume(); + + /// <summary> + /// Kill the process + /// </summary> + void Stop(); + + /// <summary> + /// Copy the log file to the desired destinations + /// </summary> + /// <param name="destination"> + /// The destination. + /// </param> + /// <param name="configuration"> + /// The configuration. + /// </param> + void ProcessLogs(string destination, HBConfiguration configuration); + } +}
\ No newline at end of file |