// --------------------------------------------------------------------------------------------------------------------
//
// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
//
//
// The video preset.
//
// --------------------------------------------------------------------------------------------------------------------
namespace HandBrakeWPF.Services.Encode.Model.Models.Video
{
using VideoPresetFactory = HandBrakeWPF.Services.Encode.Factories.VideoPresetFactory;
///
/// The video preset.
///
public class VideoPreset
{
///
/// A built-in version of the "None" object.
///
public static VideoPreset None = new VideoPreset("None", "none");
///
/// Initializes a new instance of the class.
///
public VideoPreset()
{
}
///
/// Initializes a new instance of the class.
///
///
/// The display name.
///
///
/// The short name.
///
public VideoPreset(string displayName, string shortName)
{
this.DisplayName = VideoPresetFactory.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 VideoPreset Clone()
{
return new VideoPreset(this.DisplayName, this.ShortName);
}
///
/// The equals.
///
///
/// The other.
///
///
/// The .
///
protected bool Equals(VideoPreset other)
{
return 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((VideoPreset)obj);
}
///
/// The get hash code.
///
///
/// The .
///
public override int GetHashCode()
{
return (this.ShortName != null ? this.ShortName.GetHashCode() : 0);
}
}
}