mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Make GetSupportedTypes a property
This commit is contained in:
@@ -2,6 +2,12 @@ namespace SabreTools.DatFiles.Test
|
||||
{
|
||||
public class DatFileTests
|
||||
{
|
||||
#region SupportedTypes
|
||||
|
||||
// TODO: Write SupportedTypes tests
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructor
|
||||
|
||||
// TODO: Write Constructor tests
|
||||
@@ -98,12 +104,6 @@ namespace SabreTools.DatFiles.Test
|
||||
|
||||
#endregion
|
||||
|
||||
#region GetSupportedTypes
|
||||
|
||||
// TODO: Write GetSupportedTypes tests
|
||||
|
||||
#endregion
|
||||
|
||||
#region GetMissingRequiredFields
|
||||
|
||||
// TODO: Write GetMissingRequiredFields tests
|
||||
|
||||
@@ -38,6 +38,11 @@ namespace SabreTools.DatFiles
|
||||
[JsonProperty("items"), XmlElement("items")]
|
||||
public ItemDictionaryDB ItemsDB { get; private set; } = new ItemDictionaryDB();
|
||||
|
||||
/// <summary>
|
||||
/// List of supported types for writing
|
||||
/// </summary>
|
||||
public abstract ItemType[] SupportedTypes { get; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Logging
|
||||
@@ -696,16 +701,6 @@ namespace SabreTools.DatFiles
|
||||
return new KeyValuePair<long, DatItem>(item.Key, rom);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get supported types for write
|
||||
/// </summary>
|
||||
/// <returns>List of supported types for writing</returns>
|
||||
/// TODO: Make this into a property instead of a method
|
||||
protected virtual ItemType[] GetSupportedTypes()
|
||||
{
|
||||
return Enum.GetValues(typeof(ItemType)) as ItemType[] ?? [];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return list of required fields missing from a DatItem
|
||||
/// </summary>
|
||||
@@ -727,7 +722,7 @@ namespace SabreTools.DatFiles
|
||||
foreach (DatItem datItem in datItems)
|
||||
{
|
||||
ItemType itemType = datItem.GetStringFieldValue(Models.Metadata.DatItem.TypeKey).AsEnumValue<ItemType>();
|
||||
if (Array.Exists(GetSupportedTypes(), t => t == itemType))
|
||||
if (Array.Exists(SupportedTypes, t => t == itemType))
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -749,7 +744,7 @@ namespace SabreTools.DatFiles
|
||||
foreach (var datItem in datItems)
|
||||
{
|
||||
ItemType itemType = datItem.Value.GetStringFieldValue(Models.Metadata.DatItem.TypeKey).AsEnumValue<ItemType>();
|
||||
if (Array.Exists(GetSupportedTypes(), t => t == itemType))
|
||||
if (Array.Exists(SupportedTypes, t => t == itemType))
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -990,7 +985,7 @@ namespace SabreTools.DatFiles
|
||||
// If we have an item type not in the list of supported values
|
||||
string datFormat = Header?.GetFieldValue<DatFormat>(DatHeader.DatFormatKey).ToString() ?? "Unknown Format";
|
||||
ItemType itemType = datItem.GetStringFieldValue(Models.Metadata.DatItem.TypeKey).AsEnumValue<ItemType>();
|
||||
if (!Array.Exists(GetSupportedTypes(), t => t == itemType))
|
||||
if (!Array.Exists(SupportedTypes, t => t == itemType))
|
||||
{
|
||||
string itemString = JsonConvert.SerializeObject(datItem, Formatting.None);
|
||||
_logger?.Verbose($"Item '{itemString}' was skipped because it was not supported in {datFormat}");
|
||||
|
||||
@@ -7,6 +7,12 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal sealed class ArchiveDotOrg : SerializableDatFile<Models.ArchiveDotOrg.Files, Serialization.Deserializers.ArchiveDotOrg, Serialization.Serializers.ArchiveDotOrg, Serialization.CrossModel.ArchiveDotOrg>
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public override ItemType[] SupportedTypes
|
||||
=> [
|
||||
ItemType.Rom,
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
@@ -14,14 +20,5 @@ namespace SabreTools.DatFiles.Formats
|
||||
public ArchiveDotOrg(DatFile? datFile) : base(datFile)
|
||||
{
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ItemType[] GetSupportedTypes()
|
||||
{
|
||||
return
|
||||
[
|
||||
ItemType.Rom,
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,12 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal sealed class AttractMode : SerializableDatFile<Models.AttractMode.MetadataFile, Serialization.Deserializers.AttractMode, Serialization.Serializers.AttractMode, Serialization.CrossModel.AttractMode>
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public override ItemType[] SupportedTypes
|
||||
=> [
|
||||
ItemType.Rom,
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
@@ -16,15 +22,6 @@ namespace SabreTools.DatFiles.Formats
|
||||
{
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ItemType[] GetSupportedTypes()
|
||||
{
|
||||
return
|
||||
[
|
||||
ItemType.Rom
|
||||
];
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
|
||||
@@ -13,6 +13,24 @@ namespace SabreTools.DatFiles.Formats
|
||||
{
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override ItemType[] SupportedTypes
|
||||
=> [
|
||||
ItemType.Archive,
|
||||
ItemType.BiosSet,
|
||||
ItemType.Chip,
|
||||
ItemType.DipSwitch,
|
||||
ItemType.Disk,
|
||||
ItemType.Display,
|
||||
ItemType.Driver,
|
||||
ItemType.Input,
|
||||
ItemType.Media,
|
||||
ItemType.Release,
|
||||
ItemType.Rom,
|
||||
ItemType.Sample,
|
||||
ItemType.Sound,
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Get whether to assume quote usage on read and write or not
|
||||
/// </summary>
|
||||
@@ -49,27 +67,6 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ItemType[] GetSupportedTypes()
|
||||
{
|
||||
return
|
||||
[
|
||||
ItemType.Archive,
|
||||
ItemType.BiosSet,
|
||||
ItemType.Chip,
|
||||
ItemType.DipSwitch,
|
||||
ItemType.Disk,
|
||||
ItemType.Display,
|
||||
ItemType.Driver,
|
||||
ItemType.Input,
|
||||
ItemType.Media,
|
||||
ItemType.Release,
|
||||
ItemType.Rom,
|
||||
ItemType.Sample,
|
||||
ItemType.Sound,
|
||||
];
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
|
||||
@@ -9,6 +9,12 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal sealed class DosCenter : SerializableDatFile<Models.DosCenter.MetadataFile, Serialization.Deserializers.DosCenter, Serialization.Serializers.DosCenter, Serialization.CrossModel.DosCenter>
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public override ItemType[] SupportedTypes
|
||||
=> [
|
||||
ItemType.Rom,
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
@@ -17,15 +23,6 @@ namespace SabreTools.DatFiles.Formats
|
||||
{
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ItemType[] GetSupportedTypes()
|
||||
{
|
||||
return
|
||||
[
|
||||
ItemType.Rom
|
||||
];
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
|
||||
@@ -9,6 +9,12 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal sealed class EverdriveSMDB : SerializableDatFile<Models.EverdriveSMDB.MetadataFile, Serialization.Deserializers.EverdriveSMDB, Serialization.Serializers.EverdriveSMDB, Serialization.CrossModel.EverdriveSMDB>
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public override ItemType[] SupportedTypes
|
||||
=> [
|
||||
ItemType.Rom,
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
@@ -17,15 +23,6 @@ namespace SabreTools.DatFiles.Formats
|
||||
{
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ItemType[] GetSupportedTypes()
|
||||
{
|
||||
return
|
||||
[
|
||||
ItemType.Rom
|
||||
];
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
|
||||
@@ -11,9 +11,21 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal abstract class Hashfile : SerializableDatFile<Models.Hashfile.Hashfile, Serialization.Deserializers.Hashfile, Serialization.Serializers.Hashfile, Serialization.CrossModel.Hashfile>
|
||||
{
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override ItemType[] SupportedTypes
|
||||
=> [
|
||||
ItemType.Disk,
|
||||
ItemType.Media,
|
||||
ItemType.Rom,
|
||||
];
|
||||
|
||||
// Private instance variables specific to Hashfile DATs
|
||||
protected HashType _hash;
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
@@ -41,17 +53,6 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ItemType[] GetSupportedTypes()
|
||||
{
|
||||
return
|
||||
[
|
||||
ItemType.Disk,
|
||||
ItemType.Media,
|
||||
ItemType.Rom
|
||||
];
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
|
||||
@@ -9,6 +9,13 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal sealed class Listrom : SerializableDatFile<Models.Listrom.MetadataFile, Serialization.Deserializers.Listrom, Serialization.Serializers.Listrom, Serialization.CrossModel.Listrom>
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public override ItemType[] SupportedTypes
|
||||
=> [
|
||||
ItemType.Disk,
|
||||
ItemType.Rom,
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
@@ -17,16 +24,6 @@ namespace SabreTools.DatFiles.Formats
|
||||
{
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ItemType[] GetSupportedTypes()
|
||||
{
|
||||
return
|
||||
[
|
||||
ItemType.Disk,
|
||||
ItemType.Rom
|
||||
];
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
|
||||
@@ -11,6 +11,8 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal sealed class Listxml : SerializableDatFile<Models.Listxml.Mame, Serialization.Deserializers.Listxml, Serialization.Serializers.Listxml, Serialization.CrossModel.Listxml>
|
||||
{
|
||||
#region Constants
|
||||
|
||||
/// <summary>
|
||||
/// DTD for original MAME XML DATs
|
||||
/// </summary>
|
||||
@@ -177,6 +179,37 @@ namespace SabreTools.DatFiles.Formats
|
||||
]>
|
||||
";
|
||||
|
||||
#endregion
|
||||
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override ItemType[] SupportedTypes
|
||||
=> [
|
||||
ItemType.Adjuster,
|
||||
ItemType.BiosSet,
|
||||
ItemType.Chip,
|
||||
ItemType.Condition,
|
||||
ItemType.Configuration,
|
||||
ItemType.Device,
|
||||
ItemType.DeviceRef,
|
||||
ItemType.DipSwitch,
|
||||
ItemType.Disk,
|
||||
ItemType.Display,
|
||||
ItemType.Driver,
|
||||
ItemType.Feature,
|
||||
ItemType.Input,
|
||||
ItemType.Port,
|
||||
ItemType.RamOption,
|
||||
ItemType.Rom,
|
||||
ItemType.Sample,
|
||||
ItemType.Slot,
|
||||
ItemType.SoftwareList,
|
||||
ItemType.Sound,
|
||||
];
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
@@ -213,34 +246,6 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ItemType[] GetSupportedTypes()
|
||||
{
|
||||
return
|
||||
[
|
||||
ItemType.Adjuster,
|
||||
ItemType.BiosSet,
|
||||
ItemType.Chip,
|
||||
ItemType.Condition,
|
||||
ItemType.Configuration,
|
||||
ItemType.Device,
|
||||
ItemType.DeviceRef,
|
||||
ItemType.DipSwitch,
|
||||
ItemType.Disk,
|
||||
ItemType.Display,
|
||||
ItemType.Driver,
|
||||
ItemType.Feature,
|
||||
ItemType.Input,
|
||||
ItemType.Port,
|
||||
ItemType.RamOption,
|
||||
ItemType.Rom,
|
||||
ItemType.Sample,
|
||||
ItemType.Slot,
|
||||
ItemType.SoftwareList,
|
||||
ItemType.Sound,
|
||||
];
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
|
||||
@@ -11,8 +11,7 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal sealed class Logiqx : SerializableDatFile<Models.Logiqx.Datafile, Serialization.Deserializers.Logiqx, Serialization.Serializers.Logiqx, Serialization.CrossModel.Logiqx>
|
||||
{
|
||||
// Private instance variables specific to Logiqx DATs
|
||||
private readonly bool _deprecated;
|
||||
#region Constants
|
||||
|
||||
/// <summary>
|
||||
/// DTD for original Logiqx DATs
|
||||
@@ -220,21 +219,13 @@ namespace SabreTools.DatFiles.Formats
|
||||
</xs:schema>
|
||||
";
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
/// <param name="datFile">Parent DatFile to copy from</param>
|
||||
/// <param name="deprecated">True if the output uses "game", false if the output uses "machine"</param>
|
||||
public Logiqx(DatFile? datFile, bool deprecated) : base(datFile)
|
||||
{
|
||||
_deprecated = deprecated;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ItemType[] GetSupportedTypes()
|
||||
{
|
||||
return
|
||||
[
|
||||
public override ItemType[] SupportedTypes
|
||||
=> [
|
||||
ItemType.Archive,
|
||||
ItemType.BiosSet,
|
||||
ItemType.Disk,
|
||||
@@ -243,6 +234,22 @@ namespace SabreTools.DatFiles.Formats
|
||||
ItemType.Rom,
|
||||
ItemType.Sample,
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Indicates if game should be used instead of machine
|
||||
/// </summary>
|
||||
private readonly bool _deprecated;
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
/// <param name="datFile">Parent DatFile to copy from</param>
|
||||
/// <param name="deprecated">True if the output uses "game", false if the output uses "machine"</param>
|
||||
public Logiqx(DatFile? datFile, bool deprecated) : base(datFile)
|
||||
{
|
||||
_deprecated = deprecated;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -11,6 +11,10 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal sealed class Missfile : DatFile
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public override ItemType[] SupportedTypes
|
||||
=> Enum.GetValues(typeof(ItemType)) as ItemType[] ?? [];
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
|
||||
@@ -9,6 +9,12 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal sealed class OfflineList : SerializableDatFile<Models.OfflineList.Dat, Serialization.Deserializers.OfflineList, Serialization.Serializers.OfflineList, Serialization.CrossModel.OfflineList>
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public override ItemType[] SupportedTypes
|
||||
=> [
|
||||
ItemType.Rom,
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
@@ -17,15 +23,6 @@ namespace SabreTools.DatFiles.Formats
|
||||
{
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ItemType[] GetSupportedTypes()
|
||||
{
|
||||
return
|
||||
[
|
||||
ItemType.Rom
|
||||
];
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
|
||||
@@ -9,6 +9,8 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal sealed class OpenMSX : SerializableDatFile<Models.OpenMSX.SoftwareDb, Serialization.Deserializers.OpenMSX, Serialization.Serializers.OpenMSX, Serialization.CrossModel.OpenMSX>
|
||||
{
|
||||
#region Constants
|
||||
|
||||
/// <summary>
|
||||
/// DTD for original openMSX DATs
|
||||
/// </summary>
|
||||
@@ -40,6 +42,18 @@ The softwaredb.xml file contains information about rom mapper types
|
||||
|
||||
]]>";
|
||||
|
||||
#endregion
|
||||
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override ItemType[] SupportedTypes
|
||||
=> [
|
||||
ItemType.Rom,
|
||||
];
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
@@ -48,15 +62,6 @@ The softwaredb.xml file contains information about rom mapper types
|
||||
{
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ItemType[] GetSupportedTypes()
|
||||
{
|
||||
return
|
||||
[
|
||||
ItemType.Rom
|
||||
];
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
|
||||
@@ -9,6 +9,12 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal sealed class RomCenter : SerializableDatFile<Models.RomCenter.MetadataFile, Serialization.Deserializers.RomCenter, Serialization.Serializers.RomCenter, Serialization.CrossModel.RomCenter>
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public override ItemType[] SupportedTypes
|
||||
=> [
|
||||
ItemType.Rom,
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
@@ -17,15 +23,6 @@ namespace SabreTools.DatFiles.Formats
|
||||
{
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ItemType[] GetSupportedTypes()
|
||||
{
|
||||
return
|
||||
[
|
||||
ItemType.Rom
|
||||
];
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
|
||||
@@ -17,6 +17,10 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal class SabreJSON : DatFile
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public override ItemType[] SupportedTypes
|
||||
=> Enum.GetValues(typeof(ItemType)) as ItemType[] ?? [];
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
|
||||
@@ -14,6 +14,10 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal class SabreXML : DatFile
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public override ItemType[] SupportedTypes
|
||||
=> Enum.GetValues(typeof(ItemType)) as ItemType[] ?? [];
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
|
||||
@@ -10,9 +10,23 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal abstract class SeparatedValue : SerializableDatFile<Models.SeparatedValue.MetadataFile, Serialization.Deserializers.SeparatedValue, Serialization.Serializers.SeparatedValue, Serialization.CrossModel.SeparatedValue>
|
||||
{
|
||||
// Private instance variables specific to Hashfile DATs
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override ItemType[] SupportedTypes
|
||||
=> [
|
||||
ItemType.Disk,
|
||||
ItemType.Media,
|
||||
ItemType.Rom,
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Represents the delimiter between fields
|
||||
/// </summary>
|
||||
protected char _delim;
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
@@ -40,17 +54,6 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ItemType[] GetSupportedTypes()
|
||||
{
|
||||
return
|
||||
[
|
||||
ItemType.Disk,
|
||||
ItemType.Media,
|
||||
ItemType.Rom
|
||||
];
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
|
||||
@@ -10,6 +10,8 @@ namespace SabreTools.DatFiles.Formats
|
||||
/// </summary>
|
||||
internal sealed class SoftwareList : SerializableDatFile<Models.SoftwareList.SoftwareList, Serialization.Deserializers.SoftwareList, Serialization.Serializers.SoftwareList, Serialization.CrossModel.SoftwareList>
|
||||
{
|
||||
#region Constants
|
||||
|
||||
/// <summary>
|
||||
/// DTD for original MAME Software List DATs
|
||||
/// </summary>
|
||||
@@ -71,19 +73,13 @@ namespace SabreTools.DatFiles.Formats
|
||||
<!ATTLIST dipvalue default (yes|no) ""no"">
|
||||
";
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
/// <param name="datFile">Parent DatFile to copy from</param>
|
||||
public SoftwareList(DatFile? datFile) : base(datFile)
|
||||
{
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Fields
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ItemType[] GetSupportedTypes()
|
||||
{
|
||||
return
|
||||
[
|
||||
public override ItemType[] SupportedTypes
|
||||
=> [
|
||||
ItemType.DipSwitch,
|
||||
ItemType.Disk,
|
||||
ItemType.Info,
|
||||
@@ -91,6 +87,15 @@ namespace SabreTools.DatFiles.Formats
|
||||
ItemType.Rom,
|
||||
ItemType.SharedFeat,
|
||||
];
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Constructor designed for casting a base DatFile
|
||||
/// </summary>
|
||||
/// <param name="datFile">Parent DatFile to copy from</param>
|
||||
public SoftwareList(DatFile? datFile) : base(datFile)
|
||||
{
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
Reference in New Issue
Block a user