using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.Logiqx
{
[XmlRoot("rom")]
public class Rom
{
[XmlAttribute("name")]
public string Name { get; set; }
[XmlAttribute("size")]
public string Size { get; set; }
[XmlAttribute("crc")]
public string? CRC { get; set; }
[XmlAttribute("md5")]
public string? MD5 { get; set; }
[XmlAttribute("sha1")]
public string? SHA1 { get; set; }
/// Hash/No-Intro extension
[XmlAttribute("sha256")]
public string? SHA256 { get; set; }
/// Hash extension
[XmlAttribute("sha384")]
public string? SHA384 { get; set; }
/// Hash extension
[XmlAttribute("sha512")]
public string? SHA512 { get; set; }
/// Hash extension
[XmlAttribute("spamsum")]
public string? SpamSum { get; set; }
/// DiscImgeCreator extension
[XmlAttribute("xxh3_64")]
public string? xxHash364 { get; set; }
/// DiscImgeCreator extension
[XmlAttribute("xxh3_128")]
public string? xxHash3128 { get; set; }
[XmlAttribute("merge")]
public string? Merge { get; set; }
/// (baddump|nodump|good|verified) "good"
[XmlAttribute("status")]
public string? Status { get; set; }
/// No-Intro extension
[XmlAttribute("serial")]
public string? Serial { get; set; }
/// No-Intro extension
[XmlAttribute("header")]
public string? Header { get; set; }
[XmlAttribute("date")]
public string? Date { get; set; }
/// Boolean; RomVault extension
[XmlAttribute("inverted")]
public string? Inverted { get; set; }
/// Boolean; RomVault extension
[XmlAttribute("mia")]
public string? MIA { 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
}
}