mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Introduce base class for OpenMSX
This commit is contained in:
@@ -9,14 +9,10 @@ namespace SabreTools.Models.OpenMSX
|
|||||||
[XmlElement("original")]
|
[XmlElement("original")]
|
||||||
public Original? Original { get; set; }
|
public Original? Original { get; set; }
|
||||||
|
|
||||||
[XmlElement("rom")]
|
[XmlElement("rom", typeof(Rom))]
|
||||||
public Rom? Rom { get; set; }
|
[XmlElement("megarom", typeof(MegaRom))]
|
||||||
|
[XmlElement("sccpluscart", typeof(SCCPlusCart))]
|
||||||
[XmlElement("megarom")]
|
public RomBase? Rom { get; set; }
|
||||||
public MegaRom? MegaRom { get; set; }
|
|
||||||
|
|
||||||
[XmlElement("sccpluscart")]
|
|
||||||
public SCCPlusCart? SCCPlusCart { get; set; }
|
|
||||||
|
|
||||||
#region DO NOT USE IN PRODUCTION
|
#region DO NOT USE IN PRODUCTION
|
||||||
|
|
||||||
|
|||||||
@@ -1,30 +1,7 @@
|
|||||||
using System.Xml;
|
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
|
|
||||||
namespace SabreTools.Models.OpenMSX
|
namespace SabreTools.Models.OpenMSX
|
||||||
{
|
{
|
||||||
[XmlRoot("megarom")]
|
[XmlRoot("megarom")]
|
||||||
public class MegaRom
|
public class MegaRom : RomBase { }
|
||||||
{
|
|
||||||
[XmlElement("type")]
|
|
||||||
public string? Type { get; set; }
|
|
||||||
|
|
||||||
[XmlElement("hash")]
|
|
||||||
public string? Hash { get; set; }
|
|
||||||
|
|
||||||
[XmlElement("remark")]
|
|
||||||
public string? Remark { get; set; }
|
|
||||||
|
|
||||||
#region DO NOT USE IN PRODUCTION
|
|
||||||
|
|
||||||
/// <remarks>Should be empty</remarks>
|
|
||||||
[XmlAnyAttribute]
|
|
||||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
|
||||||
|
|
||||||
/// <remarks>Should be empty</remarks>
|
|
||||||
[XmlAnyElement]
|
|
||||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,33 +1,7 @@
|
|||||||
using System.Xml;
|
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
|
|
||||||
namespace SabreTools.Models.OpenMSX
|
namespace SabreTools.Models.OpenMSX
|
||||||
{
|
{
|
||||||
[XmlRoot("rom")]
|
[XmlRoot("rom")]
|
||||||
public class Rom
|
public class Rom : RomBase { }
|
||||||
{
|
|
||||||
[XmlElement("start")]
|
|
||||||
public string? Start { get; set; }
|
|
||||||
|
|
||||||
[XmlElement("type")]
|
|
||||||
public string? Type { get; set; }
|
|
||||||
|
|
||||||
[XmlElement("hash")]
|
|
||||||
public string? Hash { get; set; }
|
|
||||||
|
|
||||||
[XmlElement("remark")]
|
|
||||||
public string? Remark { get; set; }
|
|
||||||
|
|
||||||
#region DO NOT USE IN PRODUCTION
|
|
||||||
|
|
||||||
/// <remarks>Should be empty</remarks>
|
|
||||||
[XmlAnyAttribute]
|
|
||||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
|
||||||
|
|
||||||
/// <remarks>Should be empty</remarks>
|
|
||||||
[XmlAnyElement]
|
|
||||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
35
SabreTools.Models/OpenMSX/RomBase.cs
Normal file
35
SabreTools.Models/OpenMSX/RomBase.cs
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
using System.Xml;
|
||||||
|
using System.Xml.Serialization;
|
||||||
|
|
||||||
|
namespace SabreTools.Models.OpenMSX
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Base class to unify the various rom types
|
||||||
|
/// </summary>
|
||||||
|
public abstract class RomBase
|
||||||
|
{
|
||||||
|
[XmlElement("start")]
|
||||||
|
public string? Start { get; set; }
|
||||||
|
|
||||||
|
[XmlElement("type")]
|
||||||
|
public string? Type { get; set; }
|
||||||
|
|
||||||
|
[XmlElement("hash")]
|
||||||
|
public string? Hash { get; set; }
|
||||||
|
|
||||||
|
[XmlElement("remark")]
|
||||||
|
public string? Remark { get; set; }
|
||||||
|
|
||||||
|
#region DO NOT USE IN PRODUCTION
|
||||||
|
|
||||||
|
/// <remarks>Should be empty</remarks>
|
||||||
|
[XmlAnyAttribute]
|
||||||
|
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||||
|
|
||||||
|
/// <remarks>Should be empty</remarks>
|
||||||
|
[XmlAnyElement]
|
||||||
|
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,30 +1,7 @@
|
|||||||
using System.Xml;
|
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
|
|
||||||
namespace SabreTools.Models.OpenMSX
|
namespace SabreTools.Models.OpenMSX
|
||||||
{
|
{
|
||||||
[XmlRoot("sccpluscart")]
|
[XmlRoot("sccpluscart")]
|
||||||
public class SCCPlusCart
|
public class SCCPlusCart : RomBase { }
|
||||||
{
|
|
||||||
[XmlElement("boot")]
|
|
||||||
public string? Boot { get; set; }
|
|
||||||
|
|
||||||
[XmlElement("hash")]
|
|
||||||
public string? Hash { get; set; }
|
|
||||||
|
|
||||||
[XmlElement("remark")]
|
|
||||||
public string? Remark { get; set; }
|
|
||||||
|
|
||||||
#region DO NOT USE IN PRODUCTION
|
|
||||||
|
|
||||||
/// <remarks>Should be empty</remarks>
|
|
||||||
[XmlAnyAttribute]
|
|
||||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
|
||||||
|
|
||||||
/// <remarks>Should be empty</remarks>
|
|
||||||
[XmlAnyElement]
|
|
||||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -671,18 +671,6 @@ namespace SabreTools.Test.Parser
|
|||||||
Assert.Null(dump.Rom.ADDITIONAL_ATTRIBUTES);
|
Assert.Null(dump.Rom.ADDITIONAL_ATTRIBUTES);
|
||||||
Assert.Null(dump.Rom.ADDITIONAL_ELEMENTS);
|
Assert.Null(dump.Rom.ADDITIONAL_ELEMENTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dump.MegaRom != null)
|
|
||||||
{
|
|
||||||
Assert.Null(dump.MegaRom.ADDITIONAL_ATTRIBUTES);
|
|
||||||
Assert.Null(dump.MegaRom.ADDITIONAL_ELEMENTS);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dump.SCCPlusCart != null)
|
|
||||||
{
|
|
||||||
Assert.Null(dump.SCCPlusCart.ADDITIONAL_ATTRIBUTES);
|
|
||||||
Assert.Null(dump.SCCPlusCart.ADDITIONAL_ELEMENTS);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user