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