// -------------------------------------------------------------------------------------------------------------------- // // This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. // // // The video profile. // // -------------------------------------------------------------------------------------------------------------------- namespace HandBrakeWPF.Services.Encode.Model.Models.Video { using VideoProfileFactory = HandBrakeWPF.Services.Encode.Factories.VideoProfileFactory; /// /// The video profile. /// public class VideoProfile { /// /// An internal representation of the Auto Selection. /// public static VideoProfile Auto = new VideoProfile("Auto", "auto"); /// /// Initializes a new instance of the class. /// public VideoProfile() { } /// /// Initializes a new instance of the class. /// /// /// The display name. /// /// /// The short name. /// public VideoProfile(string displayName, string shortName) { this.DisplayName = VideoProfileFactory.GetDisplayName(displayName); this.ShortName = shortName; } /// /// Gets or sets the display name. /// public string DisplayName { get; set; } /// /// Gets or sets the short name. /// public string ShortName { get; set; } /// /// The clone. /// /// /// The . /// public VideoProfile Clone() { return new VideoProfile(this.DisplayName, this.ShortName); } /// /// The equals. /// /// /// The other. /// /// /// The . /// protected bool Equals(VideoProfile other) { return string.Equals(this.DisplayName, other.DisplayName) && string.Equals(this.ShortName, other.ShortName); } /// /// The equals. /// /// /// The obj. /// /// /// The . /// public override bool Equals(object obj) { if (ReferenceEquals(null, obj)) { return false; } if (ReferenceEquals(this, obj)) { return true; } if (obj.GetType() != this.GetType()) { return false; } return this.Equals((VideoProfile)obj); } /// /// The get hash code. /// /// /// The . /// public override int GetHashCode() { unchecked { return ((this.DisplayName != null ? this.DisplayName.GetHashCode() : 0) * 397) ^ (this.ShortName != null ? this.ShortName.GetHashCode() : 0); } } } }