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
|
public class DatFileTests
|
||||||
{
|
{
|
||||||
|
#region SupportedTypes
|
||||||
|
|
||||||
|
// TODO: Write SupportedTypes tests
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region Constructor
|
#region Constructor
|
||||||
|
|
||||||
// TODO: Write Constructor tests
|
// TODO: Write Constructor tests
|
||||||
@@ -98,12 +104,6 @@ namespace SabreTools.DatFiles.Test
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region GetSupportedTypes
|
|
||||||
|
|
||||||
// TODO: Write GetSupportedTypes tests
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region GetMissingRequiredFields
|
#region GetMissingRequiredFields
|
||||||
|
|
||||||
// TODO: Write GetMissingRequiredFields tests
|
// TODO: Write GetMissingRequiredFields tests
|
||||||
|
|||||||
@@ -38,6 +38,11 @@ namespace SabreTools.DatFiles
|
|||||||
[JsonProperty("items"), XmlElement("items")]
|
[JsonProperty("items"), XmlElement("items")]
|
||||||
public ItemDictionaryDB ItemsDB { get; private set; } = new ItemDictionaryDB();
|
public ItemDictionaryDB ItemsDB { get; private set; } = new ItemDictionaryDB();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// List of supported types for writing
|
||||||
|
/// </summary>
|
||||||
|
public abstract ItemType[] SupportedTypes { get; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Logging
|
#region Logging
|
||||||
@@ -696,16 +701,6 @@ namespace SabreTools.DatFiles
|
|||||||
return new KeyValuePair<long, DatItem>(item.Key, rom);
|
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>
|
/// <summary>
|
||||||
/// Return list of required fields missing from a DatItem
|
/// Return list of required fields missing from a DatItem
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -727,7 +722,7 @@ namespace SabreTools.DatFiles
|
|||||||
foreach (DatItem datItem in datItems)
|
foreach (DatItem datItem in datItems)
|
||||||
{
|
{
|
||||||
ItemType itemType = datItem.GetStringFieldValue(Models.Metadata.DatItem.TypeKey).AsEnumValue<ItemType>();
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -749,7 +744,7 @@ namespace SabreTools.DatFiles
|
|||||||
foreach (var datItem in datItems)
|
foreach (var datItem in datItems)
|
||||||
{
|
{
|
||||||
ItemType itemType = datItem.Value.GetStringFieldValue(Models.Metadata.DatItem.TypeKey).AsEnumValue<ItemType>();
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -990,7 +985,7 @@ namespace SabreTools.DatFiles
|
|||||||
// If we have an item type not in the list of supported values
|
// If we have an item type not in the list of supported values
|
||||||
string datFormat = Header?.GetFieldValue<DatFormat>(DatHeader.DatFormatKey).ToString() ?? "Unknown Format";
|
string datFormat = Header?.GetFieldValue<DatFormat>(DatHeader.DatFormatKey).ToString() ?? "Unknown Format";
|
||||||
ItemType itemType = datItem.GetStringFieldValue(Models.Metadata.DatItem.TypeKey).AsEnumValue<ItemType>();
|
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);
|
string itemString = JsonConvert.SerializeObject(datItem, Formatting.None);
|
||||||
_logger?.Verbose($"Item '{itemString}' was skipped because it was not supported in {datFormat}");
|
_logger?.Verbose($"Item '{itemString}' was skipped because it was not supported in {datFormat}");
|
||||||
|
|||||||
@@ -7,6 +7,12 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal sealed class ArchiveDotOrg : SerializableDatFile<Models.ArchiveDotOrg.Files, Serialization.Deserializers.ArchiveDotOrg, Serialization.Serializers.ArchiveDotOrg, Serialization.CrossModel.ArchiveDotOrg>
|
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>
|
/// <summary>
|
||||||
/// Constructor designed for casting a base DatFile
|
/// Constructor designed for casting a base DatFile
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -14,14 +20,5 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
public ArchiveDotOrg(DatFile? datFile) : base(datFile)
|
public ArchiveDotOrg(DatFile? datFile) : base(datFile)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
|
||||||
protected override ItemType[] GetSupportedTypes()
|
|
||||||
{
|
|
||||||
return
|
|
||||||
[
|
|
||||||
ItemType.Rom,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,12 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal sealed class AttractMode : SerializableDatFile<Models.AttractMode.MetadataFile, Serialization.Deserializers.AttractMode, Serialization.Serializers.AttractMode, Serialization.CrossModel.AttractMode>
|
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>
|
/// <summary>
|
||||||
/// Constructor designed for casting a base DatFile
|
/// Constructor designed for casting a base DatFile
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -16,15 +22,6 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
|
||||||
protected override ItemType[] GetSupportedTypes()
|
|
||||||
{
|
|
||||||
return
|
|
||||||
[
|
|
||||||
ItemType.Rom
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -13,6 +13,24 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
{
|
{
|
||||||
#region Fields
|
#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>
|
/// <summary>
|
||||||
/// Get whether to assume quote usage on read and write or not
|
/// Get whether to assume quote usage on read and write or not
|
||||||
/// </summary>
|
/// </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/>
|
/// <inheritdoc/>
|
||||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,6 +9,12 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal sealed class DosCenter : SerializableDatFile<Models.DosCenter.MetadataFile, Serialization.Deserializers.DosCenter, Serialization.Serializers.DosCenter, Serialization.CrossModel.DosCenter>
|
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>
|
/// <summary>
|
||||||
/// Constructor designed for casting a base DatFile
|
/// Constructor designed for casting a base DatFile
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -17,15 +23,6 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
|
||||||
protected override ItemType[] GetSupportedTypes()
|
|
||||||
{
|
|
||||||
return
|
|
||||||
[
|
|
||||||
ItemType.Rom
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,6 +9,12 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal sealed class EverdriveSMDB : SerializableDatFile<Models.EverdriveSMDB.MetadataFile, Serialization.Deserializers.EverdriveSMDB, Serialization.Serializers.EverdriveSMDB, Serialization.CrossModel.EverdriveSMDB>
|
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>
|
/// <summary>
|
||||||
/// Constructor designed for casting a base DatFile
|
/// Constructor designed for casting a base DatFile
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -17,15 +23,6 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
|
||||||
protected override ItemType[] GetSupportedTypes()
|
|
||||||
{
|
|
||||||
return
|
|
||||||
[
|
|
||||||
ItemType.Rom
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -11,9 +11,21 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal abstract class Hashfile : SerializableDatFile<Models.Hashfile.Hashfile, Serialization.Deserializers.Hashfile, Serialization.Serializers.Hashfile, Serialization.CrossModel.Hashfile>
|
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
|
// Private instance variables specific to Hashfile DATs
|
||||||
protected HashType _hash;
|
protected HashType _hash;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Constructor designed for casting a base DatFile
|
/// Constructor designed for casting a base DatFile
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -41,17 +53,6 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
|
||||||
protected override ItemType[] GetSupportedTypes()
|
|
||||||
{
|
|
||||||
return
|
|
||||||
[
|
|
||||||
ItemType.Disk,
|
|
||||||
ItemType.Media,
|
|
||||||
ItemType.Rom
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,6 +9,13 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal sealed class Listrom : SerializableDatFile<Models.Listrom.MetadataFile, Serialization.Deserializers.Listrom, Serialization.Serializers.Listrom, Serialization.CrossModel.Listrom>
|
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>
|
/// <summary>
|
||||||
/// Constructor designed for casting a base DatFile
|
/// Constructor designed for casting a base DatFile
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -17,16 +24,6 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
|
||||||
protected override ItemType[] GetSupportedTypes()
|
|
||||||
{
|
|
||||||
return
|
|
||||||
[
|
|
||||||
ItemType.Disk,
|
|
||||||
ItemType.Rom
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal sealed class Listxml : SerializableDatFile<Models.Listxml.Mame, Serialization.Deserializers.Listxml, Serialization.Serializers.Listxml, Serialization.CrossModel.Listxml>
|
internal sealed class Listxml : SerializableDatFile<Models.Listxml.Mame, Serialization.Deserializers.Listxml, Serialization.Serializers.Listxml, Serialization.CrossModel.Listxml>
|
||||||
{
|
{
|
||||||
|
#region Constants
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DTD for original MAME XML DATs
|
/// DTD for original MAME XML DATs
|
||||||
/// </summary>
|
/// </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>
|
/// <summary>
|
||||||
/// Constructor designed for casting a base DatFile
|
/// Constructor designed for casting a base DatFile
|
||||||
/// </summary>
|
/// </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/>
|
/// <inheritdoc/>
|
||||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -11,8 +11,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal sealed class Logiqx : SerializableDatFile<Models.Logiqx.Datafile, Serialization.Deserializers.Logiqx, Serialization.Serializers.Logiqx, Serialization.CrossModel.Logiqx>
|
internal sealed class Logiqx : SerializableDatFile<Models.Logiqx.Datafile, Serialization.Deserializers.Logiqx, Serialization.Serializers.Logiqx, Serialization.CrossModel.Logiqx>
|
||||||
{
|
{
|
||||||
// Private instance variables specific to Logiqx DATs
|
#region Constants
|
||||||
private readonly bool _deprecated;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DTD for original Logiqx DATs
|
/// DTD for original Logiqx DATs
|
||||||
@@ -220,21 +219,13 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
</xs:schema>
|
</xs:schema>
|
||||||
";
|
";
|
||||||
|
|
||||||
/// <summary>
|
#endregion
|
||||||
/// Constructor designed for casting a base DatFile
|
|
||||||
/// </summary>
|
#region Fields
|
||||||
/// <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/>
|
/// <inheritdoc/>
|
||||||
protected override ItemType[] GetSupportedTypes()
|
public override ItemType[] SupportedTypes
|
||||||
{
|
=> [
|
||||||
return
|
|
||||||
[
|
|
||||||
ItemType.Archive,
|
ItemType.Archive,
|
||||||
ItemType.BiosSet,
|
ItemType.BiosSet,
|
||||||
ItemType.Disk,
|
ItemType.Disk,
|
||||||
@@ -243,6 +234,22 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
ItemType.Rom,
|
ItemType.Rom,
|
||||||
ItemType.Sample,
|
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/>
|
/// <inheritdoc/>
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal sealed class Missfile : DatFile
|
internal sealed class Missfile : DatFile
|
||||||
{
|
{
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public override ItemType[] SupportedTypes
|
||||||
|
=> Enum.GetValues(typeof(ItemType)) as ItemType[] ?? [];
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Constructor designed for casting a base DatFile
|
/// Constructor designed for casting a base DatFile
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -9,6 +9,12 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal sealed class OfflineList : SerializableDatFile<Models.OfflineList.Dat, Serialization.Deserializers.OfflineList, Serialization.Serializers.OfflineList, Serialization.CrossModel.OfflineList>
|
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>
|
/// <summary>
|
||||||
/// Constructor designed for casting a base DatFile
|
/// Constructor designed for casting a base DatFile
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -17,15 +23,6 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
|
||||||
protected override ItemType[] GetSupportedTypes()
|
|
||||||
{
|
|
||||||
return
|
|
||||||
[
|
|
||||||
ItemType.Rom
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal sealed class OpenMSX : SerializableDatFile<Models.OpenMSX.SoftwareDb, Serialization.Deserializers.OpenMSX, Serialization.Serializers.OpenMSX, Serialization.CrossModel.OpenMSX>
|
internal sealed class OpenMSX : SerializableDatFile<Models.OpenMSX.SoftwareDb, Serialization.Deserializers.OpenMSX, Serialization.Serializers.OpenMSX, Serialization.CrossModel.OpenMSX>
|
||||||
{
|
{
|
||||||
|
#region Constants
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DTD for original openMSX DATs
|
/// DTD for original openMSX DATs
|
||||||
/// </summary>
|
/// </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>
|
/// <summary>
|
||||||
/// Constructor designed for casting a base DatFile
|
/// Constructor designed for casting a base DatFile
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -48,15 +62,6 @@ The softwaredb.xml file contains information about rom mapper types
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
|
||||||
protected override ItemType[] GetSupportedTypes()
|
|
||||||
{
|
|
||||||
return
|
|
||||||
[
|
|
||||||
ItemType.Rom
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,6 +9,12 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal sealed class RomCenter : SerializableDatFile<Models.RomCenter.MetadataFile, Serialization.Deserializers.RomCenter, Serialization.Serializers.RomCenter, Serialization.CrossModel.RomCenter>
|
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>
|
/// <summary>
|
||||||
/// Constructor designed for casting a base DatFile
|
/// Constructor designed for casting a base DatFile
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -17,15 +23,6 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
|
||||||
protected override ItemType[] GetSupportedTypes()
|
|
||||||
{
|
|
||||||
return
|
|
||||||
[
|
|
||||||
ItemType.Rom
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -17,6 +17,10 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal class SabreJSON : DatFile
|
internal class SabreJSON : DatFile
|
||||||
{
|
{
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public override ItemType[] SupportedTypes
|
||||||
|
=> Enum.GetValues(typeof(ItemType)) as ItemType[] ?? [];
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Constructor designed for casting a base DatFile
|
/// Constructor designed for casting a base DatFile
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -14,6 +14,10 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal class SabreXML : DatFile
|
internal class SabreXML : DatFile
|
||||||
{
|
{
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public override ItemType[] SupportedTypes
|
||||||
|
=> Enum.GetValues(typeof(ItemType)) as ItemType[] ?? [];
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Constructor designed for casting a base DatFile
|
/// Constructor designed for casting a base DatFile
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -10,9 +10,23 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal abstract class SeparatedValue : SerializableDatFile<Models.SeparatedValue.MetadataFile, Serialization.Deserializers.SeparatedValue, Serialization.Serializers.SeparatedValue, Serialization.CrossModel.SeparatedValue>
|
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;
|
protected char _delim;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Constructor designed for casting a base DatFile
|
/// Constructor designed for casting a base DatFile
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -40,17 +54,6 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
|
||||||
protected override ItemType[] GetSupportedTypes()
|
|
||||||
{
|
|
||||||
return
|
|
||||||
[
|
|
||||||
ItemType.Disk,
|
|
||||||
ItemType.Media,
|
|
||||||
ItemType.Rom
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal sealed class SoftwareList : SerializableDatFile<Models.SoftwareList.SoftwareList, Serialization.Deserializers.SoftwareList, Serialization.Serializers.SoftwareList, Serialization.CrossModel.SoftwareList>
|
internal sealed class SoftwareList : SerializableDatFile<Models.SoftwareList.SoftwareList, Serialization.Deserializers.SoftwareList, Serialization.Serializers.SoftwareList, Serialization.CrossModel.SoftwareList>
|
||||||
{
|
{
|
||||||
|
#region Constants
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DTD for original MAME Software List DATs
|
/// DTD for original MAME Software List DATs
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -71,19 +73,13 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
<!ATTLIST dipvalue default (yes|no) ""no"">
|
<!ATTLIST dipvalue default (yes|no) ""no"">
|
||||||
";
|
";
|
||||||
|
|
||||||
/// <summary>
|
#endregion
|
||||||
/// Constructor designed for casting a base DatFile
|
|
||||||
/// </summary>
|
#region Fields
|
||||||
/// <param name="datFile">Parent DatFile to copy from</param>
|
|
||||||
public SoftwareList(DatFile? datFile) : base(datFile)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
protected override ItemType[] GetSupportedTypes()
|
public override ItemType[] SupportedTypes
|
||||||
{
|
=> [
|
||||||
return
|
|
||||||
[
|
|
||||||
ItemType.DipSwitch,
|
ItemType.DipSwitch,
|
||||||
ItemType.Disk,
|
ItemType.Disk,
|
||||||
ItemType.Info,
|
ItemType.Info,
|
||||||
@@ -91,6 +87,15 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
ItemType.Rom,
|
ItemType.Rom,
|
||||||
ItemType.SharedFeat,
|
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/>
|
/// <inheritdoc/>
|
||||||
|
|||||||
Reference in New Issue
Block a user