using System.Xml; using System.Xml.Serialization; namespace SabreTools.Models.Listxml { [XmlRoot("driver")] public class Driver { /// (good|imperfect|preliminary), (good|preliminary|test) in older versions [Required] [XmlAttribute("status")] public string? Status { get; set; } /// (good|imperfect|preliminary), Only present in older versions [XmlAttribute("color")] public string? Color { get; set; } /// (good|imperfect|preliminary), Only present in older versions [XmlAttribute("sound")] public string? Sound { get; set; } /// Only present in older versions [XmlAttribute("palettesize")] public string? PaletteSize { get; set; } /// (good|imperfect|preliminary) [Required] [XmlAttribute("emulation")] public string? Emulation { get; set; } /// (good|imperfect|preliminary) [Required] [XmlAttribute("cocktail")] public string? Cocktail { get; set; } /// (supported|unsupported) [Required] [XmlAttribute("savestate")] public string? SaveState { get; set; } /// (yes|no) "no" [XmlAttribute("requiresartwork")] public string? RequiresArtwork { get; set; } /// (yes|no) "no" [XmlAttribute("unofficial")] public string? Unofficial { get; set; } /// (yes|no) "no" [XmlAttribute("nosoundhardware")] public string? NoSoundHardware { get; set; } /// (yes|no) "no" [XmlAttribute("incomplete")] public string? Incomplete { get; set; } #region DO NOT USE IN PRODUCTION /// Should be empty [XmlAnyAttribute] public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; } /// Should be empty [XmlAnyElement] public object[]? ADDITIONAL_ELEMENTS { get; set; } #endregion } }