diff --git a/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs b/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs index 5248b23c..76d50745 100644 --- a/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs +++ b/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs @@ -24,7 +24,7 @@ namespace SabreTools.Data.Extensions.Test Assert.NotNull(actual); Assert.Equal(8, actual.Count); - Assert.Equal(ItemType.Rom, actual["_type"]); + Assert.Equal(ItemType.Rom, actual.ItemType); Assert.Null(actual[Rom.NameKey]); Assert.Null(actual[Rom.MergeKey]); Assert.Null(actual[Rom.RegionKey]); @@ -52,7 +52,7 @@ namespace SabreTools.Data.Extensions.Test Assert.NotNull(actual); Assert.Equal(8, actual.Count); - Assert.Equal(ItemType.Rom, actual["_type"]); + Assert.Equal(ItemType.Rom, actual.ItemType); Assert.Equal("XXXXXX.chd", actual[Rom.NameKey]); Assert.Equal("XXXXXX", actual[Rom.MergeKey]); Assert.Equal("XXXXXX", actual[Rom.RegionKey]); @@ -70,7 +70,7 @@ namespace SabreTools.Data.Extensions.Test Assert.NotNull(actual); Assert.Equal(6, actual.Count); - Assert.Equal(ItemType.Rom, actual["_type"]); + Assert.Equal(ItemType.Rom, actual.ItemType); Assert.Null(actual[Rom.NameKey]); Assert.Null(actual[Rom.MD5Key]); Assert.Null(actual[Rom.SHA1Key]); @@ -94,7 +94,7 @@ namespace SabreTools.Data.Extensions.Test Assert.NotNull(actual); Assert.Equal(6, actual.Count); - Assert.Equal(ItemType.Rom, actual["_type"]); + Assert.Equal(ItemType.Rom, actual.ItemType); Assert.Equal("XXXXXX.aaruf", actual[Rom.NameKey]); Assert.Equal("XXXXXX", actual[Rom.MD5Key]); Assert.Equal("XXXXXX", actual[Rom.SHA1Key]); diff --git a/SabreTools.Data.Models/Metadata/Adjuster.cs b/SabreTools.Data.Models/Metadata/Adjuster.cs index 7b4c8e96..cc057c04 100644 --- a/SabreTools.Data.Models/Metadata/Adjuster.cs +++ b/SabreTools.Data.Models/Metadata/Adjuster.cs @@ -20,6 +20,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Adjuster() => Type = ItemType.Adjuster; + public Adjuster() => ItemType = ItemType.Adjuster; } } diff --git a/SabreTools.Data.Models/Metadata/Analog.cs b/SabreTools.Data.Models/Metadata/Analog.cs index b02d99bc..273d159e 100644 --- a/SabreTools.Data.Models/Metadata/Analog.cs +++ b/SabreTools.Data.Models/Metadata/Analog.cs @@ -13,6 +13,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Analog() => Type = ItemType.Analog; + public Analog() => ItemType = ItemType.Analog; } } diff --git a/SabreTools.Data.Models/Metadata/Archive.cs b/SabreTools.Data.Models/Metadata/Archive.cs index d80c9ecd..44d47d00 100644 --- a/SabreTools.Data.Models/Metadata/Archive.cs +++ b/SabreTools.Data.Models/Metadata/Archive.cs @@ -109,6 +109,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Archive() => Type = ItemType.Archive; + public Archive() => ItemType = ItemType.Archive; } } diff --git a/SabreTools.Data.Models/Metadata/BiosSet.cs b/SabreTools.Data.Models/Metadata/BiosSet.cs index 08600ba8..df3e3d1f 100644 --- a/SabreTools.Data.Models/Metadata/BiosSet.cs +++ b/SabreTools.Data.Models/Metadata/BiosSet.cs @@ -19,6 +19,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public BiosSet() => Type = ItemType.BiosSet; + public BiosSet() => ItemType = ItemType.BiosSet; } } diff --git a/SabreTools.Data.Models/Metadata/Blank.cs b/SabreTools.Data.Models/Metadata/Blank.cs index 411f0273..45b1284d 100644 --- a/SabreTools.Data.Models/Metadata/Blank.cs +++ b/SabreTools.Data.Models/Metadata/Blank.cs @@ -6,6 +6,6 @@ namespace SabreTools.Data.Models.Metadata [JsonObject("blank"), XmlRoot("blank")] public class Blank : DatItem { - public Blank() => Type = ItemType.Blank; + public Blank() => ItemType = ItemType.Blank; } } diff --git a/SabreTools.Data.Models/Metadata/Chip.cs b/SabreTools.Data.Models/Metadata/Chip.cs index c3a512b0..2348bfdd 100644 --- a/SabreTools.Data.Models/Metadata/Chip.cs +++ b/SabreTools.Data.Models/Metadata/Chip.cs @@ -28,6 +28,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Chip() => Type = ItemType.Chip; + public Chip() => ItemType = ItemType.Chip; } } diff --git a/SabreTools.Data.Models/Metadata/Condition.cs b/SabreTools.Data.Models/Metadata/Condition.cs index ead68ff2..d2a257cc 100644 --- a/SabreTools.Data.Models/Metadata/Condition.cs +++ b/SabreTools.Data.Models/Metadata/Condition.cs @@ -22,6 +22,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Condition() => Type = ItemType.Condition; + public Condition() => ItemType = ItemType.Condition; } } diff --git a/SabreTools.Data.Models/Metadata/ConfLocation.cs b/SabreTools.Data.Models/Metadata/ConfLocation.cs index d26305c6..ada4f513 100644 --- a/SabreTools.Data.Models/Metadata/ConfLocation.cs +++ b/SabreTools.Data.Models/Metadata/ConfLocation.cs @@ -19,6 +19,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public ConfLocation() => Type = ItemType.ConfLocation; + public ConfLocation() => ItemType = ItemType.ConfLocation; } } diff --git a/SabreTools.Data.Models/Metadata/ConfSetting.cs b/SabreTools.Data.Models/Metadata/ConfSetting.cs index f5e1d706..a4c7131c 100644 --- a/SabreTools.Data.Models/Metadata/ConfSetting.cs +++ b/SabreTools.Data.Models/Metadata/ConfSetting.cs @@ -23,6 +23,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public ConfSetting() => Type = ItemType.ConfSetting; + public ConfSetting() => ItemType = ItemType.ConfSetting; } } diff --git a/SabreTools.Data.Models/Metadata/Configuration.cs b/SabreTools.Data.Models/Metadata/Configuration.cs index baeea5ed..dd793423 100644 --- a/SabreTools.Data.Models/Metadata/Configuration.cs +++ b/SabreTools.Data.Models/Metadata/Configuration.cs @@ -31,6 +31,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Configuration() => Type = ItemType.Configuration; + public Configuration() => ItemType = ItemType.Configuration; } } diff --git a/SabreTools.Data.Models/Metadata/Control.cs b/SabreTools.Data.Models/Metadata/Control.cs index b14eee03..c14b816d 100644 --- a/SabreTools.Data.Models/Metadata/Control.cs +++ b/SabreTools.Data.Models/Metadata/Control.cs @@ -46,6 +46,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Control() => Type = ItemType.Control; + public Control() => ItemType = ItemType.Control; } } diff --git a/SabreTools.Data.Models/Metadata/DatItem.cs b/SabreTools.Data.Models/Metadata/DatItem.cs index 47a1c59e..85f6a0fb 100644 --- a/SabreTools.Data.Models/Metadata/DatItem.cs +++ b/SabreTools.Data.Models/Metadata/DatItem.cs @@ -8,20 +8,10 @@ namespace SabreTools.Data.Models.Metadata /// public class DatItem : DictionaryBase { - #region Common Keys - - public const string TypeKey = "_type"; - - #endregion - /// /// Quick accessor to item type, if it exists /// [JsonProperty("itemtype", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("itemtype")] - public ItemType? Type - { - get => ContainsKey(TypeKey) ? this[TypeKey] as ItemType? : null; - set => this[TypeKey] = value; - } + public ItemType ItemType { get; protected set; } } } diff --git a/SabreTools.Data.Models/Metadata/DataArea.cs b/SabreTools.Data.Models/Metadata/DataArea.cs index 2a2b989d..2d2e4fb4 100644 --- a/SabreTools.Data.Models/Metadata/DataArea.cs +++ b/SabreTools.Data.Models/Metadata/DataArea.cs @@ -26,6 +26,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public DataArea() => Type = ItemType.DataArea; + public DataArea() => ItemType = ItemType.DataArea; } } diff --git a/SabreTools.Data.Models/Metadata/Device.cs b/SabreTools.Data.Models/Metadata/Device.cs index b2ba3bdb..17b2076c 100644 --- a/SabreTools.Data.Models/Metadata/Device.cs +++ b/SabreTools.Data.Models/Metadata/Device.cs @@ -33,6 +33,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Device() => Type = ItemType.Device; + public Device() => ItemType = ItemType.Device; } } diff --git a/SabreTools.Data.Models/Metadata/DeviceRef.cs b/SabreTools.Data.Models/Metadata/DeviceRef.cs index 31223b86..a83e31d8 100644 --- a/SabreTools.Data.Models/Metadata/DeviceRef.cs +++ b/SabreTools.Data.Models/Metadata/DeviceRef.cs @@ -13,6 +13,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public DeviceRef() => Type = ItemType.DeviceRef; + public DeviceRef() => ItemType = ItemType.DeviceRef; } } diff --git a/SabreTools.Data.Models/Metadata/DipLocation.cs b/SabreTools.Data.Models/Metadata/DipLocation.cs index 24570ba9..4535667b 100644 --- a/SabreTools.Data.Models/Metadata/DipLocation.cs +++ b/SabreTools.Data.Models/Metadata/DipLocation.cs @@ -19,6 +19,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public DipLocation() => Type = ItemType.DipLocation; + public DipLocation() => ItemType = ItemType.DipLocation; } } diff --git a/SabreTools.Data.Models/Metadata/DipSwitch.cs b/SabreTools.Data.Models/Metadata/DipSwitch.cs index a363539a..ff5b170c 100644 --- a/SabreTools.Data.Models/Metadata/DipSwitch.cs +++ b/SabreTools.Data.Models/Metadata/DipSwitch.cs @@ -37,6 +37,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public DipSwitch() => Type = ItemType.DipSwitch; + public DipSwitch() => ItemType = ItemType.DipSwitch; } } diff --git a/SabreTools.Data.Models/Metadata/DipValue.cs b/SabreTools.Data.Models/Metadata/DipValue.cs index 153c8bcb..53bae423 100644 --- a/SabreTools.Data.Models/Metadata/DipValue.cs +++ b/SabreTools.Data.Models/Metadata/DipValue.cs @@ -23,6 +23,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public DipValue() => Type = ItemType.DipValue; + public DipValue() => ItemType = ItemType.DipValue; } } diff --git a/SabreTools.Data.Models/Metadata/Disk.cs b/SabreTools.Data.Models/Metadata/Disk.cs index 006218c5..dffda24e 100644 --- a/SabreTools.Data.Models/Metadata/Disk.cs +++ b/SabreTools.Data.Models/Metadata/Disk.cs @@ -40,6 +40,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Disk() => Type = ItemType.Disk; + public Disk() => ItemType = ItemType.Disk; } } diff --git a/SabreTools.Data.Models/Metadata/DiskArea.cs b/SabreTools.Data.Models/Metadata/DiskArea.cs index 0c1c73ba..cb91efa3 100644 --- a/SabreTools.Data.Models/Metadata/DiskArea.cs +++ b/SabreTools.Data.Models/Metadata/DiskArea.cs @@ -17,6 +17,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public DiskArea() => Type = ItemType.DiskArea; + public DiskArea() => ItemType = ItemType.DiskArea; } } diff --git a/SabreTools.Data.Models/Metadata/Display.cs b/SabreTools.Data.Models/Metadata/Display.cs index 286b72cc..edbf05dd 100644 --- a/SabreTools.Data.Models/Metadata/Display.cs +++ b/SabreTools.Data.Models/Metadata/Display.cs @@ -52,6 +52,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Display() => Type = ItemType.Display; + public Display() => ItemType = ItemType.Display; } } diff --git a/SabreTools.Data.Models/Metadata/Driver.cs b/SabreTools.Data.Models/Metadata/Driver.cs index 2f614f55..9860acfc 100644 --- a/SabreTools.Data.Models/Metadata/Driver.cs +++ b/SabreTools.Data.Models/Metadata/Driver.cs @@ -46,6 +46,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Driver() => Type = ItemType.Driver; + public Driver() => ItemType = ItemType.Driver; } } diff --git a/SabreTools.Data.Models/Metadata/Dump.cs b/SabreTools.Data.Models/Metadata/Dump.cs index 4311062d..f4ca3c33 100644 --- a/SabreTools.Data.Models/Metadata/Dump.cs +++ b/SabreTools.Data.Models/Metadata/Dump.cs @@ -26,6 +26,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Dump() => Type = ItemType.Dump; + public Dump() => ItemType = ItemType.Dump; } } diff --git a/SabreTools.Data.Models/Metadata/Enums.cs b/SabreTools.Data.Models/Metadata/Enums.cs index 59913ea0..cca49b14 100644 --- a/SabreTools.Data.Models/Metadata/Enums.cs +++ b/SabreTools.Data.Models/Metadata/Enums.cs @@ -279,12 +279,14 @@ namespace SabreTools.Data.Models.Metadata Dump, Extension, Feature, + File, // TODO: This should be merged with Rom? Info, Input, Instance, Media, Original, Part, + PartFeature, Port, RamOption, Release, diff --git a/SabreTools.Data.Models/Metadata/Extension.cs b/SabreTools.Data.Models/Metadata/Extension.cs index fd55943c..66af6c6e 100644 --- a/SabreTools.Data.Models/Metadata/Extension.cs +++ b/SabreTools.Data.Models/Metadata/Extension.cs @@ -13,6 +13,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Extension() => Type = ItemType.Extension; + public Extension() => ItemType = ItemType.Extension; } } diff --git a/SabreTools.Data.Models/Metadata/Feature.cs b/SabreTools.Data.Models/Metadata/Feature.cs index 95ae91fd..7a3521e7 100644 --- a/SabreTools.Data.Models/Metadata/Feature.cs +++ b/SabreTools.Data.Models/Metadata/Feature.cs @@ -25,6 +25,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Feature() => Type = ItemType.Feature; + public Feature() => ItemType = ItemType.Feature; } } diff --git a/SabreTools.Data.Models/Metadata/Info.cs b/SabreTools.Data.Models/Metadata/Info.cs index 4aaab026..4eeb3840 100644 --- a/SabreTools.Data.Models/Metadata/Info.cs +++ b/SabreTools.Data.Models/Metadata/Info.cs @@ -16,6 +16,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Info() => Type = ItemType.Info; + public Info() => ItemType = ItemType.Info; } } diff --git a/SabreTools.Data.Models/Metadata/Input.cs b/SabreTools.Data.Models/Metadata/Input.cs index fc6dd84a..dba3364e 100644 --- a/SabreTools.Data.Models/Metadata/Input.cs +++ b/SabreTools.Data.Models/Metadata/Input.cs @@ -28,6 +28,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Input() => Type = ItemType.Input; + public Input() => ItemType = ItemType.Input; } } diff --git a/SabreTools.Data.Models/Metadata/Instance.cs b/SabreTools.Data.Models/Metadata/Instance.cs index 3aede5fd..df36275f 100644 --- a/SabreTools.Data.Models/Metadata/Instance.cs +++ b/SabreTools.Data.Models/Metadata/Instance.cs @@ -16,6 +16,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Instance() => Type = ItemType.Instance; + public Instance() => ItemType = ItemType.Instance; } } diff --git a/SabreTools.Data.Models/Metadata/Media.cs b/SabreTools.Data.Models/Metadata/Media.cs index af0275d5..f00cb3c6 100644 --- a/SabreTools.Data.Models/Metadata/Media.cs +++ b/SabreTools.Data.Models/Metadata/Media.cs @@ -25,6 +25,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Media() => Type = ItemType.Media; + public Media() => ItemType = ItemType.Media; } } diff --git a/SabreTools.Data.Models/Metadata/Original.cs b/SabreTools.Data.Models/Metadata/Original.cs index ead97687..fbf46886 100644 --- a/SabreTools.Data.Models/Metadata/Original.cs +++ b/SabreTools.Data.Models/Metadata/Original.cs @@ -16,6 +16,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Original() => Type = ItemType.Original; + public Original() => ItemType = ItemType.Original; } } diff --git a/SabreTools.Data.Models/Metadata/Part.cs b/SabreTools.Data.Models/Metadata/Part.cs index 2b1bc1f0..1b67de05 100644 --- a/SabreTools.Data.Models/Metadata/Part.cs +++ b/SabreTools.Data.Models/Metadata/Part.cs @@ -32,6 +32,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Part() => Type = ItemType.Part; + public Part() => ItemType = ItemType.Part; } } diff --git a/SabreTools.Data.Models/Metadata/Port.cs b/SabreTools.Data.Models/Metadata/Port.cs index 13621878..9a017d7f 100644 --- a/SabreTools.Data.Models/Metadata/Port.cs +++ b/SabreTools.Data.Models/Metadata/Port.cs @@ -17,6 +17,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Port() => Type = ItemType.Port; + public Port() => ItemType = ItemType.Port; } } diff --git a/SabreTools.Data.Models/Metadata/RamOption.cs b/SabreTools.Data.Models/Metadata/RamOption.cs index 5dbd3fe1..f39796b7 100644 --- a/SabreTools.Data.Models/Metadata/RamOption.cs +++ b/SabreTools.Data.Models/Metadata/RamOption.cs @@ -19,6 +19,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public RamOption() => Type = ItemType.RamOption; + public RamOption() => ItemType = ItemType.RamOption; } } diff --git a/SabreTools.Data.Models/Metadata/Release.cs b/SabreTools.Data.Models/Metadata/Release.cs index aeb4442e..0a6f5aa9 100644 --- a/SabreTools.Data.Models/Metadata/Release.cs +++ b/SabreTools.Data.Models/Metadata/Release.cs @@ -25,6 +25,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Release() => Type = ItemType.Release; + public Release() => ItemType = ItemType.Release; } } diff --git a/SabreTools.Data.Models/Metadata/ReleaseDetails.cs b/SabreTools.Data.Models/Metadata/ReleaseDetails.cs index 6a1a9fa9..ab8579f9 100644 --- a/SabreTools.Data.Models/Metadata/ReleaseDetails.cs +++ b/SabreTools.Data.Models/Metadata/ReleaseDetails.cs @@ -58,6 +58,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public ReleaseDetails() => Type = ItemType.ReleaseDetails; + public ReleaseDetails() => ItemType = ItemType.ReleaseDetails; } } diff --git a/SabreTools.Data.Models/Metadata/Rom.cs b/SabreTools.Data.Models/Metadata/Rom.cs index 728b0009..92d0914d 100644 --- a/SabreTools.Data.Models/Metadata/Rom.cs +++ b/SabreTools.Data.Models/Metadata/Rom.cs @@ -298,6 +298,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Rom() => Type = ItemType.Rom; + public Rom() => ItemType = ItemType.Rom; } } diff --git a/SabreTools.Data.Models/Metadata/Sample.cs b/SabreTools.Data.Models/Metadata/Sample.cs index ff4e25a4..93a40b44 100644 --- a/SabreTools.Data.Models/Metadata/Sample.cs +++ b/SabreTools.Data.Models/Metadata/Sample.cs @@ -13,6 +13,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Sample() => Type = ItemType.Sample; + public Sample() => ItemType = ItemType.Sample; } } diff --git a/SabreTools.Data.Models/Metadata/Serials.cs b/SabreTools.Data.Models/Metadata/Serials.cs index 9f451b3e..ecbc8a6b 100644 --- a/SabreTools.Data.Models/Metadata/Serials.cs +++ b/SabreTools.Data.Models/Metadata/Serials.cs @@ -52,6 +52,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Serials() => Type = ItemType.Serials; + public Serials() => ItemType = ItemType.Serials; } } diff --git a/SabreTools.Data.Models/Metadata/SharedFeat.cs b/SabreTools.Data.Models/Metadata/SharedFeat.cs index 9263c08f..6a2fe032 100644 --- a/SabreTools.Data.Models/Metadata/SharedFeat.cs +++ b/SabreTools.Data.Models/Metadata/SharedFeat.cs @@ -16,6 +16,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public SharedFeat() => Type = ItemType.SharedFeat; + public SharedFeat() => ItemType = ItemType.SharedFeat; } } diff --git a/SabreTools.Data.Models/Metadata/Slot.cs b/SabreTools.Data.Models/Metadata/Slot.cs index eb25435f..abd99216 100644 --- a/SabreTools.Data.Models/Metadata/Slot.cs +++ b/SabreTools.Data.Models/Metadata/Slot.cs @@ -17,6 +17,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Slot() => Type = ItemType.Slot; + public Slot() => ItemType = ItemType.Slot; } } diff --git a/SabreTools.Data.Models/Metadata/SlotOption.cs b/SabreTools.Data.Models/Metadata/SlotOption.cs index 6aad120b..83388ac5 100644 --- a/SabreTools.Data.Models/Metadata/SlotOption.cs +++ b/SabreTools.Data.Models/Metadata/SlotOption.cs @@ -19,6 +19,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public SlotOption() => Type = ItemType.SlotOption; + public SlotOption() => ItemType = ItemType.SlotOption; } } diff --git a/SabreTools.Data.Models/Metadata/Software.cs b/SabreTools.Data.Models/Metadata/Software.cs index 43312610..44d991be 100644 --- a/SabreTools.Data.Models/Metadata/Software.cs +++ b/SabreTools.Data.Models/Metadata/Software.cs @@ -43,6 +43,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Software() => Type = ItemType.Software; + public Software() => ItemType = ItemType.Software; } } diff --git a/SabreTools.Data.Models/Metadata/SoftwareList.cs b/SabreTools.Data.Models/Metadata/SoftwareList.cs index 7aa8f492..3642796d 100644 --- a/SabreTools.Data.Models/Metadata/SoftwareList.cs +++ b/SabreTools.Data.Models/Metadata/SoftwareList.cs @@ -32,6 +32,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public SoftwareList() => Type = ItemType.SoftwareList; + public SoftwareList() => ItemType = ItemType.SoftwareList; } } diff --git a/SabreTools.Data.Models/Metadata/Sound.cs b/SabreTools.Data.Models/Metadata/Sound.cs index 64ae132e..480d1537 100644 --- a/SabreTools.Data.Models/Metadata/Sound.cs +++ b/SabreTools.Data.Models/Metadata/Sound.cs @@ -13,6 +13,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Sound() => Type = ItemType.Sound; + public Sound() => ItemType = ItemType.Sound; } } diff --git a/SabreTools.Data.Models/Metadata/SourceDetails.cs b/SabreTools.Data.Models/Metadata/SourceDetails.cs index b151d954..b443b163 100644 --- a/SabreTools.Data.Models/Metadata/SourceDetails.cs +++ b/SabreTools.Data.Models/Metadata/SourceDetails.cs @@ -82,6 +82,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public SourceDetails() => Type = ItemType.SourceDetails; + public SourceDetails() => ItemType = ItemType.SourceDetails; } } diff --git a/SabreTools.Data.Models/Metadata/Video.cs b/SabreTools.Data.Models/Metadata/Video.cs index 615dfa9a..406cb218 100644 --- a/SabreTools.Data.Models/Metadata/Video.cs +++ b/SabreTools.Data.Models/Metadata/Video.cs @@ -31,6 +31,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - public Video() => Type = ItemType.Video; + public Video() => ItemType = ItemType.Video; } } diff --git a/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs b/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs index a0f75e80..f5cef637 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs @@ -62,11 +62,11 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(0, stats.GetHashCount(HashType.SHA384)); Assert.Equal(0, stats.GetHashCount(HashType.SHA512)); Assert.Equal(0, stats.GetHashCount(HashType.SpamSum)); - Assert.Equal(0, stats.GetItemCount(ItemType.Disk)); - Assert.Equal(0, stats.GetItemCount(ItemType.File)); - Assert.Equal(0, stats.GetItemCount(ItemType.Media)); - Assert.Equal(0, stats.GetItemCount(ItemType.Rom)); - Assert.Equal(0, stats.GetItemCount(ItemType.Sample)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Disk)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.File)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Media)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Rom)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Sample)); Assert.Equal(0, stats.GetStatusCount(ItemStatus.Good)); // AddItemStatistics @@ -90,11 +90,11 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(1, stats.GetHashCount(HashType.SHA384)); Assert.Equal(1, stats.GetHashCount(HashType.SHA512)); Assert.Equal(2, stats.GetHashCount(HashType.SpamSum)); - Assert.Equal(1, stats.GetItemCount(ItemType.Disk)); - Assert.Equal(1, stats.GetItemCount(ItemType.File)); - Assert.Equal(1, stats.GetItemCount(ItemType.Media)); - Assert.Equal(1, stats.GetItemCount(ItemType.Rom)); - Assert.Equal(1, stats.GetItemCount(ItemType.Sample)); + Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.Disk)); + Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.File)); + Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.Media)); + Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.Rom)); + Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.Sample)); Assert.Equal(2, stats.GetStatusCount(ItemStatus.Good)); // RemoveItemStatistics @@ -118,11 +118,11 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(0, stats.GetHashCount(HashType.SHA384)); Assert.Equal(0, stats.GetHashCount(HashType.SHA512)); Assert.Equal(0, stats.GetHashCount(HashType.SpamSum)); - Assert.Equal(0, stats.GetItemCount(ItemType.Disk)); - Assert.Equal(0, stats.GetItemCount(ItemType.File)); - Assert.Equal(0, stats.GetItemCount(ItemType.Media)); - Assert.Equal(0, stats.GetItemCount(ItemType.Rom)); - Assert.Equal(0, stats.GetItemCount(ItemType.Sample)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Disk)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.File)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Media)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Rom)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Sample)); Assert.Equal(0, stats.GetStatusCount(ItemStatus.Good)); } @@ -153,11 +153,11 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(0, stats.GetHashCount(HashType.SHA384)); Assert.Equal(0, stats.GetHashCount(HashType.SHA512)); Assert.Equal(0, stats.GetHashCount(HashType.SpamSum)); - Assert.Equal(0, stats.GetItemCount(ItemType.Disk)); - Assert.Equal(0, stats.GetItemCount(ItemType.File)); - Assert.Equal(0, stats.GetItemCount(ItemType.Media)); - Assert.Equal(0, stats.GetItemCount(ItemType.Rom)); - Assert.Equal(0, stats.GetItemCount(ItemType.Sample)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Disk)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.File)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Media)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Rom)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Sample)); Assert.Equal(0, stats.GetStatusCount(ItemStatus.Good)); // AddItemStatistics @@ -181,11 +181,11 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(1, stats.GetHashCount(HashType.SHA384)); Assert.Equal(1, stats.GetHashCount(HashType.SHA512)); Assert.Equal(2, stats.GetHashCount(HashType.SpamSum)); - Assert.Equal(1, stats.GetItemCount(ItemType.Disk)); - Assert.Equal(1, stats.GetItemCount(ItemType.File)); - Assert.Equal(1, stats.GetItemCount(ItemType.Media)); - Assert.Equal(1, stats.GetItemCount(ItemType.Rom)); - Assert.Equal(1, stats.GetItemCount(ItemType.Sample)); + Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.Disk)); + Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.File)); + Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.Media)); + Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.Rom)); + Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.Sample)); Assert.Equal(2, stats.GetStatusCount(ItemStatus.Good)); // ResetStatistics @@ -205,11 +205,11 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(0, stats.GetHashCount(HashType.SHA384)); Assert.Equal(0, stats.GetHashCount(HashType.SHA512)); Assert.Equal(0, stats.GetHashCount(HashType.SpamSum)); - Assert.Equal(0, stats.GetItemCount(ItemType.Disk)); - Assert.Equal(0, stats.GetItemCount(ItemType.File)); - Assert.Equal(0, stats.GetItemCount(ItemType.Media)); - Assert.Equal(0, stats.GetItemCount(ItemType.Rom)); - Assert.Equal(0, stats.GetItemCount(ItemType.Sample)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Disk)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.File)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Media)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Rom)); + Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Sample)); Assert.Equal(0, stats.GetStatusCount(ItemStatus.Good)); } @@ -240,7 +240,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(1, newStats.GetHashCount(HashType.SHA384)); Assert.Equal(1, newStats.GetHashCount(HashType.SHA512)); Assert.Equal(1, newStats.GetHashCount(HashType.SpamSum)); - Assert.Equal(1, newStats.GetItemCount(ItemType.Rom)); + Assert.Equal(1, newStats.GetItemCount(Data.Models.Metadata.ItemType.Rom)); Assert.Equal(1, newStats.GetStatusCount(ItemStatus.Good)); } diff --git a/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs b/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs index 96b898de..9d32691a 100644 --- a/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs @@ -1,7 +1,6 @@ using System; using System.Linq; using SabreTools.Metadata.DatFiles.Formats; -using SabreTools.Metadata.DatItems; using SabreTools.Metadata.DatItems.Formats; using Xunit; @@ -17,7 +16,7 @@ namespace SabreTools.Metadata.DatFiles.Test /// /// All defined item types /// - private static readonly ItemType[] AllTypes = Enum.GetValues(); + private static readonly Data.Models.Metadata.ItemType[] AllTypes = Enum.GetValues(); #endregion @@ -29,7 +28,7 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new ArchiveDotOrg(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -43,7 +42,7 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new AttractMode(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -71,19 +70,19 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new ClrMamePro(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - 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, + Data.Models.Metadata.ItemType.Archive, + Data.Models.Metadata.ItemType.BiosSet, + Data.Models.Metadata.ItemType.Chip, + Data.Models.Metadata.ItemType.DipSwitch, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Display, + Data.Models.Metadata.ItemType.Driver, + Data.Models.Metadata.ItemType.Input, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Release, + Data.Models.Metadata.ItemType.Rom, + Data.Models.Metadata.ItemType.Sample, + Data.Models.Metadata.ItemType.Sound, ])); } @@ -274,7 +273,7 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new DosCenter(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -304,7 +303,7 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new EverdriveSMDB(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -336,7 +335,7 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new SfvFile(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -361,7 +360,7 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new Md2File(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -386,7 +385,7 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new Md4File(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -411,9 +410,9 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new Md5File(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Disk, - ItemType.Media, - ItemType.Rom, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -468,7 +467,7 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new RipeMD128File(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -493,7 +492,7 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new RipeMD160File(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -518,9 +517,9 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new Sha1File(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Disk, - ItemType.Media, - ItemType.Rom, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -575,8 +574,8 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new Sha256File(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Media, - ItemType.Rom, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -616,7 +615,7 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new Sha384File(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -641,7 +640,7 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new Sha512File(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -666,8 +665,8 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new SpamSumFile(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Media, - ItemType.Rom, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -711,8 +710,8 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new Listrom(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Disk, - ItemType.Rom, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -758,26 +757,26 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new Listxml(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - 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, + Data.Models.Metadata.ItemType.Adjuster, + Data.Models.Metadata.ItemType.BiosSet, + Data.Models.Metadata.ItemType.Chip, + Data.Models.Metadata.ItemType.Condition, + Data.Models.Metadata.ItemType.Configuration, + Data.Models.Metadata.ItemType.Device, + Data.Models.Metadata.ItemType.DeviceRef, + Data.Models.Metadata.ItemType.DipSwitch, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Display, + Data.Models.Metadata.ItemType.Driver, + Data.Models.Metadata.ItemType.Feature, + Data.Models.Metadata.ItemType.Input, + Data.Models.Metadata.ItemType.Port, + Data.Models.Metadata.ItemType.RamOption, + Data.Models.Metadata.ItemType.Rom, + Data.Models.Metadata.ItemType.Sample, + Data.Models.Metadata.ItemType.Slot, + Data.Models.Metadata.ItemType.SoftwareList, + Data.Models.Metadata.ItemType.Sound, ])); } @@ -1070,16 +1069,16 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new Logiqx(null, false); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Archive, - ItemType.BiosSet, - ItemType.DeviceRef, - ItemType.Disk, - ItemType.Driver, - ItemType.Media, - ItemType.Release, - ItemType.Rom, - ItemType.Sample, - ItemType.SoftwareList, + Data.Models.Metadata.ItemType.Archive, + Data.Models.Metadata.ItemType.BiosSet, + Data.Models.Metadata.ItemType.DeviceRef, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Driver, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Release, + Data.Models.Metadata.ItemType.Rom, + Data.Models.Metadata.ItemType.Sample, + Data.Models.Metadata.ItemType.SoftwareList, ])); } @@ -1263,7 +1262,7 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new OfflineList(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -1292,7 +1291,7 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new OpenMSX(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -1321,7 +1320,7 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new RomCenter(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -1375,9 +1374,9 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new CommaSeparatedValue(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Disk, - ItemType.Media, - ItemType.Rom, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -1433,9 +1432,9 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new SemicolonSeparatedValue(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Disk, - ItemType.Media, - ItemType.Rom, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -1491,9 +1490,9 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new TabSeparatedValue(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.Disk, - ItemType.Media, - ItemType.Rom, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Rom, ])); } @@ -1553,12 +1552,12 @@ namespace SabreTools.Metadata.DatFiles.Test var datFile = new Formats.SoftwareList(null); var actual = datFile.SupportedTypes; Assert.True(actual.SequenceEqual([ - ItemType.DipSwitch, - ItemType.Disk, - ItemType.Info, - ItemType.PartFeature, - ItemType.Rom, - ItemType.SharedFeat, + Data.Models.Metadata.ItemType.DipSwitch, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Info, + Data.Models.Metadata.ItemType.PartFeature, + Data.Models.Metadata.ItemType.Rom, + Data.Models.Metadata.ItemType.SharedFeat, ])); } diff --git a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs index 45b3a936..d0df6070 100644 --- a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs @@ -1004,7 +1004,7 @@ namespace SabreTools.Metadata.DatFiles.Test _ = dict.AddItem(item, machineIndex, sourceIndex, statsOnly: false); Assert.Equal(1, dict.DatStatistics.TotalCount); - Assert.Equal(1, dict.DatStatistics.GetItemCount(ItemType.Rom)); + Assert.Equal(1, dict.DatStatistics.GetItemCount(Data.Models.Metadata.ItemType.Rom)); Assert.Equal(12345, dict.DatStatistics.TotalSize); Assert.Equal(1, dict.DatStatistics.GetHashCount(HashType.CRC32)); Assert.Equal(0, dict.DatStatistics.GetHashCount(HashType.MD5)); @@ -1014,7 +1014,7 @@ namespace SabreTools.Metadata.DatFiles.Test dict.RecalculateStats(); Assert.Equal(1, dict.DatStatistics.TotalCount); - Assert.Equal(1, dict.DatStatistics.GetItemCount(ItemType.Rom)); + Assert.Equal(1, dict.DatStatistics.GetItemCount(Data.Models.Metadata.ItemType.Rom)); Assert.Equal(12345, dict.DatStatistics.TotalSize); Assert.Equal(1, dict.DatStatistics.GetHashCount(HashType.CRC32)); Assert.Equal(1, dict.DatStatistics.GetHashCount(HashType.MD5)); diff --git a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs index 6c78640f..6b6bbd25 100644 --- a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs @@ -797,7 +797,7 @@ namespace SabreTools.Metadata.DatFiles.Test _ = dict.AddItem(item, statsOnly: false); Assert.Equal(1, dict.DatStatistics.TotalCount); - Assert.Equal(1, dict.DatStatistics.GetItemCount(ItemType.Rom)); + Assert.Equal(1, dict.DatStatistics.GetItemCount(Data.Models.Metadata.ItemType.Rom)); Assert.Equal(12345, dict.DatStatistics.TotalSize); Assert.Equal(1, dict.DatStatistics.GetHashCount(HashType.CRC32)); Assert.Equal(0, dict.DatStatistics.GetHashCount(HashType.MD5)); @@ -807,7 +807,7 @@ namespace SabreTools.Metadata.DatFiles.Test dict.RecalculateStats(); Assert.Equal(1, dict.DatStatistics.TotalCount); - Assert.Equal(1, dict.DatStatistics.GetItemCount(ItemType.Rom)); + Assert.Equal(1, dict.DatStatistics.GetItemCount(Data.Models.Metadata.ItemType.Rom)); Assert.Equal(12345, dict.DatStatistics.TotalSize); Assert.Equal(1, dict.DatStatistics.GetHashCount(HashType.CRC32)); Assert.Equal(1, dict.DatStatistics.GetHashCount(HashType.MD5)); diff --git a/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs b/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs index 79ba0702..be6c7c63 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs @@ -702,7 +702,7 @@ namespace SabreTools.Metadata.DatFiles foreach (DatItem item in devItems) { // If the parent machine doesn't already contain this item, add it - if (!datItems.Exists(i => i.ReadString(Data.Models.Metadata.DatItem.TypeKey) == item.ReadString(Data.Models.Metadata.DatItem.TypeKey) && i.GetName() == item.GetName())) + if (!datItems.Exists(i => i.ItemType == item.ItemType && i.GetName() == item.GetName())) { // Set that we found new items foundnew = true; @@ -752,7 +752,7 @@ namespace SabreTools.Metadata.DatFiles foreach (DatItem item in slotItems) { // If the parent machine doesn't already contain this item, add it - if (!datItems.Exists(i => i.ReadString(Data.Models.Metadata.DatItem.TypeKey) == item.ReadString(Data.Models.Metadata.DatItem.TypeKey) && i.GetName() == item.GetName())) + if (!datItems.Exists(i => i.ItemType == item.ItemType && i.GetName() == item.GetName())) { // Set that we found new items foundnew = true; @@ -870,7 +870,7 @@ namespace SabreTools.Metadata.DatFiles foreach (var item in devItems.Values) { // If the parent machine doesn't already contain this item, add it - if (!items.Values.Any(i => i.ReadString(Data.Models.Metadata.DatItem.TypeKey) == item.ReadString(Data.Models.Metadata.DatItem.TypeKey) + if (!items.Values.Any(i => i.ItemType == item.ItemType && i.GetName() == item.GetName())) { // Set that we found new items @@ -926,7 +926,7 @@ namespace SabreTools.Metadata.DatFiles foreach (var item in slotItems.Values) { // If the parent machine doesn't already contain this item, add it - if (!items.Values.Any(i => i.ReadString(Data.Models.Metadata.DatItem.TypeKey) == item.ReadString(Data.Models.Metadata.DatItem.TypeKey) + if (!items.Values.Any(i => i.ItemType == item.ItemType && i.GetName() == item.GetName())) { // Set that we found new items diff --git a/SabreTools.Metadata.DatFiles/DatFile.cs b/SabreTools.Metadata.DatFiles/DatFile.cs index 757c2fcd..f82fbb34 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.cs @@ -55,7 +55,7 @@ namespace SabreTools.Metadata.DatFiles /// /// List of supported types for writing /// - public abstract ItemType[] SupportedTypes { get; } + public abstract Data.Models.Metadata.ItemType[] SupportedTypes { get; } #endregion @@ -581,13 +581,13 @@ namespace SabreTools.Metadata.DatFiles protected internal static string FormatPrefixPostfix(DatItem item, Machine? machine, string fix) { // Initialize strings - string? type = item.ReadString(Data.Models.Metadata.DatItem.TypeKey); + Data.Models.Metadata.ItemType type = item.ItemType; string game = machine?.GetName() ?? string.Empty, manufacturer = machine?.ReadString(Data.Models.Metadata.Machine.ManufacturerKey) ?? string.Empty, publisher = machine?.ReadString(Data.Models.Metadata.Machine.PublisherKey) ?? string.Empty, category = machine?.ReadString(Data.Models.Metadata.Machine.CategoryKey) ?? string.Empty, - name = item.GetName() ?? type.AsItemType().AsStringValue() ?? string.Empty, + name = item.GetName() ?? type.AsStringValue() ?? string.Empty, crc16 = string.Empty, crc = string.Empty, crc64 = string.Empty, @@ -741,7 +741,7 @@ namespace SabreTools.Metadata.DatFiles foreach (DatItem datItem in datItems) { - ItemType itemType = datItem.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); + Data.Models.Metadata.ItemType itemType = datItem.ItemType; if (Array.Exists(SupportedTypes, t => t == itemType)) return true; } @@ -800,12 +800,12 @@ namespace SabreTools.Metadata.DatFiles // Get the last item name, if applicable string lastItemName = lastItem.GetName() - ?? lastItem.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue() + ?? lastItem.ItemType.AsStringValue() ?? string.Empty; // Get the current item name, if applicable string datItemName = datItem.GetName() - ?? datItem.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue() + ?? datItem.ItemType.AsStringValue() ?? string.Empty; // If the current item exactly matches the last item, then we don't add it @@ -897,12 +897,12 @@ namespace SabreTools.Metadata.DatFiles // Get the last item name, if applicable string lastItemName = lastItem.Value.Value.GetName() - ?? lastItem.Value.Value.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue() + ?? lastItem.Value.Value.ItemType.AsStringValue() ?? string.Empty; // Get the current item name, if applicable string datItemName = datItem.Value.GetName() - ?? datItem.Value.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue() + ?? datItem.Value.ItemType.AsStringValue() ?? string.Empty; // Get sources for both items @@ -1009,7 +1009,7 @@ namespace SabreTools.Metadata.DatFiles } // If we have an item type not in the list of supported values - ItemType itemType = datItem.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); + Data.Models.Metadata.ItemType itemType = datItem.ItemType; if (!Array.Exists(SupportedTypes, t => t == itemType)) { string itemString = JsonConvert.SerializeObject(datItem, Formatting.None); @@ -1182,8 +1182,8 @@ namespace SabreTools.Metadata.DatFiles return nc.Compare(xMachineName, yMachineName); // If types don't match - string? xType = x.ReadString(Data.Models.Metadata.DatItem.TypeKey); - string? yType = y.ReadString(Data.Models.Metadata.DatItem.TypeKey); + string? xType = x.ItemType.AsStringValue(); + string? yType = y.ItemType.AsStringValue(); if (xType != yType) return xType.AsItemType() - yType.AsItemType(); @@ -1239,8 +1239,8 @@ namespace SabreTools.Metadata.DatFiles return nc.Compare(xMachineName, yMachineName); // If types don't match - string? xType = x.Value.ReadString(Data.Models.Metadata.DatItem.TypeKey); - string? yType = y.Value.ReadString(Data.Models.Metadata.DatItem.TypeKey); + string? xType = x.Value.ItemType.AsStringValue(); + string? yType = y.Value.ItemType.AsStringValue(); if (xType != yType) return xType.AsItemType() - yType.AsItemType(); diff --git a/SabreTools.Metadata.DatFiles/DatStatistics.cs b/SabreTools.Metadata.DatFiles/DatStatistics.cs index 63eb73e9..ec010b03 100644 --- a/SabreTools.Metadata.DatFiles/DatStatistics.cs +++ b/SabreTools.Metadata.DatFiles/DatStatistics.cs @@ -22,7 +22,7 @@ namespace SabreTools.Metadata.DatFiles /// /// Number of items for each item type /// - private readonly Dictionary _itemCounts = []; + private readonly Dictionary _itemCounts = []; /// /// Number of items for each item status @@ -122,7 +122,7 @@ namespace SabreTools.Metadata.DatFiles RemovedCount++; // Increment the item count for the type - AddItemCount(item.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType()); + AddItemCount(item.ItemType); // Some item types require special processing switch (item) @@ -161,7 +161,7 @@ namespace SabreTools.Metadata.DatFiles RemovedCount++; // Increment the item count for the type - AddItemCount(item.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType()); + AddItemCount(item.ItemType); // Some item types require special processing switch (item) @@ -237,7 +237,7 @@ namespace SabreTools.Metadata.DatFiles /// /// Item type to retrieve /// The number of items of that type, if it exists - public long GetItemCount(ItemType itemType) + public long GetItemCount(Data.Models.Metadata.ItemType itemType) { lock (_itemCounts) { @@ -284,7 +284,7 @@ namespace SabreTools.Metadata.DatFiles RemovedCount--; // Decrement the item count for the type - RemoveItemCount(item.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType()); + RemoveItemCount(item.ItemType); // Some item types require special processing switch (item) @@ -329,7 +329,7 @@ namespace SabreTools.Metadata.DatFiles RemovedCount--; // Decrement the item count for the type - RemoveItemCount(item.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType()); + RemoveItemCount(item.ItemType); // Some item types require special processing switch (item) @@ -389,7 +389,7 @@ namespace SabreTools.Metadata.DatFiles /// /// Item type to increment /// Amount to increment by, defaults to 1 - private void AddItemCount(ItemType itemType, long interval = 1) + private void AddItemCount(Data.Models.Metadata.ItemType itemType, long interval = 1) { lock (_itemCounts) { @@ -580,7 +580,7 @@ namespace SabreTools.Metadata.DatFiles /// /// Item type to decrement /// Amount to increment by, defaults to 1 - private void RemoveItemCount(ItemType itemType, long interval = 1) + private void RemoveItemCount(Data.Models.Metadata.ItemType itemType, long interval = 1) { lock (_itemCounts) { diff --git a/SabreTools.Metadata.DatFiles/Formats/ArchiveDotOrg.cs b/SabreTools.Metadata.DatFiles/Formats/ArchiveDotOrg.cs index 5f20cdcb..256037bf 100644 --- a/SabreTools.Metadata.DatFiles/Formats/ArchiveDotOrg.cs +++ b/SabreTools.Metadata.DatFiles/Formats/ArchiveDotOrg.cs @@ -1,6 +1,4 @@ -using SabreTools.Metadata.DatItems; - -namespace SabreTools.Metadata.DatFiles.Formats +namespace SabreTools.Metadata.DatFiles.Formats { /// /// Represents a Archive.org file list @@ -8,9 +6,9 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class ArchiveDotOrg : SerializableDatFile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/AttractMode.cs b/SabreTools.Metadata.DatFiles/Formats/AttractMode.cs index 90d74b76..68f24059 100644 --- a/SabreTools.Metadata.DatFiles/Formats/AttractMode.cs +++ b/SabreTools.Metadata.DatFiles/Formats/AttractMode.cs @@ -9,9 +9,9 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class AttractMode : SerializableDatFile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/ClrMamePro.cs b/SabreTools.Metadata.DatFiles/Formats/ClrMamePro.cs index 69244997..7ecd1379 100644 --- a/SabreTools.Metadata.DatFiles/Formats/ClrMamePro.cs +++ b/SabreTools.Metadata.DatFiles/Formats/ClrMamePro.cs @@ -15,21 +15,21 @@ namespace SabreTools.Metadata.DatFiles.Formats #region Fields /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.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, + Data.Models.Metadata.ItemType.Archive, + Data.Models.Metadata.ItemType.BiosSet, + Data.Models.Metadata.ItemType.Chip, + Data.Models.Metadata.ItemType.DipSwitch, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Display, + Data.Models.Metadata.ItemType.Driver, + Data.Models.Metadata.ItemType.Input, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Release, + Data.Models.Metadata.ItemType.Rom, + Data.Models.Metadata.ItemType.Sample, + Data.Models.Metadata.ItemType.Sound, ]; #endregion diff --git a/SabreTools.Metadata.DatFiles/Formats/DosCenter.cs b/SabreTools.Metadata.DatFiles/Formats/DosCenter.cs index e193b162..f008a551 100644 --- a/SabreTools.Metadata.DatFiles/Formats/DosCenter.cs +++ b/SabreTools.Metadata.DatFiles/Formats/DosCenter.cs @@ -10,9 +10,9 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class DosCenter : SerializableDatFile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/EverdriveSmdb.cs b/SabreTools.Metadata.DatFiles/Formats/EverdriveSmdb.cs index 8b10d692..03f88f7a 100644 --- a/SabreTools.Metadata.DatFiles/Formats/EverdriveSmdb.cs +++ b/SabreTools.Metadata.DatFiles/Formats/EverdriveSmdb.cs @@ -10,9 +10,9 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class EverdriveSMDB : SerializableDatFile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/Listrom.cs b/SabreTools.Metadata.DatFiles/Formats/Listrom.cs index 5e97faf5..234f9723 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Listrom.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Listrom.cs @@ -10,10 +10,10 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class Listrom : SerializableDatFile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Disk, - ItemType.Rom, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/Listxml.cs b/SabreTools.Metadata.DatFiles/Formats/Listxml.cs index cd20f0c8..da230117 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Listxml.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Listxml.cs @@ -185,28 +185,28 @@ namespace SabreTools.Metadata.DatFiles.Formats #region Fields /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.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, + Data.Models.Metadata.ItemType.Adjuster, + Data.Models.Metadata.ItemType.BiosSet, + Data.Models.Metadata.ItemType.Chip, + Data.Models.Metadata.ItemType.Condition, + Data.Models.Metadata.ItemType.Configuration, + Data.Models.Metadata.ItemType.Device, + Data.Models.Metadata.ItemType.DeviceRef, + Data.Models.Metadata.ItemType.DipSwitch, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Display, + Data.Models.Metadata.ItemType.Driver, + Data.Models.Metadata.ItemType.Feature, + Data.Models.Metadata.ItemType.Input, + Data.Models.Metadata.ItemType.Port, + Data.Models.Metadata.ItemType.RamOption, + Data.Models.Metadata.ItemType.Rom, + Data.Models.Metadata.ItemType.Sample, + Data.Models.Metadata.ItemType.Slot, + Data.Models.Metadata.ItemType.SoftwareList, + Data.Models.Metadata.ItemType.Sound, ]; #endregion diff --git a/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs b/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs index f5b86759..59113dbe 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs @@ -224,18 +224,18 @@ namespace SabreTools.Metadata.DatFiles.Formats #region Fields /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Archive, - ItemType.BiosSet, - ItemType.DeviceRef, - ItemType.Disk, - ItemType.Driver, - ItemType.Media, - ItemType.Release, - ItemType.Rom, - ItemType.Sample, - ItemType.SoftwareList, + Data.Models.Metadata.ItemType.Archive, + Data.Models.Metadata.ItemType.BiosSet, + Data.Models.Metadata.ItemType.DeviceRef, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Driver, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Release, + Data.Models.Metadata.ItemType.Rom, + Data.Models.Metadata.ItemType.Sample, + Data.Models.Metadata.ItemType.SoftwareList, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/Md2File.cs b/SabreTools.Metadata.DatFiles/Formats/Md2File.cs index 489dbf4e..2ac078f0 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Md2File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Md2File.cs @@ -11,9 +11,9 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class Md2File : Hashfile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/Md4File.cs b/SabreTools.Metadata.DatFiles/Formats/Md4File.cs index 16e85eb0..344bab1b 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Md4File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Md4File.cs @@ -11,9 +11,9 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class Md4File : Hashfile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/Md5File.cs b/SabreTools.Metadata.DatFiles/Formats/Md5File.cs index ccd4d355..81a9e1b5 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Md5File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Md5File.cs @@ -11,11 +11,11 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class Md5File : Hashfile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Disk, - ItemType.Media, - ItemType.Rom, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/Missfile.cs b/SabreTools.Metadata.DatFiles/Formats/Missfile.cs index 4aa8aaca..c0b96d01 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Missfile.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Missfile.cs @@ -13,8 +13,8 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class Missfile : DatFile { /// - public override ItemType[] SupportedTypes - => Enum.GetValues(typeof(ItemType)) as ItemType[] ?? []; + public override Data.Models.Metadata.ItemType[] SupportedTypes + => Enum.GetValues(typeof(Data.Models.Metadata.ItemType)) as Data.Models.Metadata.ItemType[] ?? []; /// /// Constructor designed for casting a base DatFile diff --git a/SabreTools.Metadata.DatFiles/Formats/OfflineList.cs b/SabreTools.Metadata.DatFiles/Formats/OfflineList.cs index 7a1cdd21..51cba1ae 100644 --- a/SabreTools.Metadata.DatFiles/Formats/OfflineList.cs +++ b/SabreTools.Metadata.DatFiles/Formats/OfflineList.cs @@ -10,9 +10,9 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class OfflineList : SerializableDatFile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/OpenMSX.cs b/SabreTools.Metadata.DatFiles/Formats/OpenMSX.cs index e8dd9d24..cc0ed775 100644 --- a/SabreTools.Metadata.DatFiles/Formats/OpenMSX.cs +++ b/SabreTools.Metadata.DatFiles/Formats/OpenMSX.cs @@ -47,9 +47,9 @@ The softwaredb.xml file contains information about rom mapper types #region Fields /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ]; #endregion diff --git a/SabreTools.Metadata.DatFiles/Formats/RipeMD128File.cs b/SabreTools.Metadata.DatFiles/Formats/RipeMD128File.cs index d3360791..3eaa2ac0 100644 --- a/SabreTools.Metadata.DatFiles/Formats/RipeMD128File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/RipeMD128File.cs @@ -11,9 +11,9 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class RipeMD128File : Hashfile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/RipeMD160File.cs b/SabreTools.Metadata.DatFiles/Formats/RipeMD160File.cs index e20483bd..44dcdf7a 100644 --- a/SabreTools.Metadata.DatFiles/Formats/RipeMD160File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/RipeMD160File.cs @@ -11,9 +11,9 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class RipeMD160File : Hashfile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/RomCenter.cs b/SabreTools.Metadata.DatFiles/Formats/RomCenter.cs index fff1933d..06da3fb8 100644 --- a/SabreTools.Metadata.DatFiles/Formats/RomCenter.cs +++ b/SabreTools.Metadata.DatFiles/Formats/RomCenter.cs @@ -10,9 +10,9 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class RomCenter : SerializableDatFile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/SabreJSON.cs b/SabreTools.Metadata.DatFiles/Formats/SabreJSON.cs index a2666e43..44c37e51 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SabreJSON.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SabreJSON.cs @@ -19,8 +19,12 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class SabreJSON : DatFile { /// - public override ItemType[] SupportedTypes - => Enum.GetValues(typeof(ItemType)) as ItemType[] ?? []; + public override Data.Models.Metadata.ItemType[] SupportedTypes +#if NET5_0_OR_GREATER + => Enum.GetValues(); +#else + => Enum.GetValues(typeof(Data.Models.Metadata.ItemType)) as Data.Models.Metadata.ItemType[] ?? []; +#endif /// /// Constructor designed for casting a base DatFile @@ -250,140 +254,144 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItemObj.Value("type").AsItemType()) { - case ItemType.Adjuster: + case Data.Models.Metadata.ItemType.Adjuster: datItem = datItemObj.ToObject(); break; - case ItemType.Analog: + case Data.Models.Metadata.ItemType.Analog: datItem = datItemObj.ToObject(); break; - case ItemType.Archive: + case Data.Models.Metadata.ItemType.Archive: datItem = datItemObj.ToObject(); break; - case ItemType.BiosSet: + case Data.Models.Metadata.ItemType.BiosSet: datItem = datItemObj.ToObject(); break; - case ItemType.Blank: + case Data.Models.Metadata.ItemType.Blank: datItem = datItemObj.ToObject(); break; - case ItemType.Chip: + case Data.Models.Metadata.ItemType.Chip: datItem = datItemObj.ToObject(); break; - case ItemType.Condition: + case Data.Models.Metadata.ItemType.Condition: datItem = datItemObj.ToObject(); break; - case ItemType.Configuration: + case Data.Models.Metadata.ItemType.Configuration: datItem = datItemObj.ToObject(); break; - case ItemType.ConfLocation: + case Data.Models.Metadata.ItemType.ConfLocation: datItem = datItemObj.ToObject(); break; - case ItemType.ConfSetting: + case Data.Models.Metadata.ItemType.ConfSetting: datItem = datItemObj.ToObject(); break; - case ItemType.Control: + case Data.Models.Metadata.ItemType.Control: datItem = datItemObj.ToObject(); break; - case ItemType.DataArea: + case Data.Models.Metadata.ItemType.DataArea: datItem = datItemObj.ToObject(); break; - case ItemType.Device: + case Data.Models.Metadata.ItemType.Device: datItem = datItemObj.ToObject(); break; - case ItemType.DeviceRef: + case Data.Models.Metadata.ItemType.DeviceRef: datItem = datItemObj.ToObject(); break; - case ItemType.DipLocation: + case Data.Models.Metadata.ItemType.DipLocation: datItem = datItemObj.ToObject(); break; - case ItemType.DipValue: + case Data.Models.Metadata.ItemType.DipValue: datItem = datItemObj.ToObject(); break; - case ItemType.DipSwitch: + case Data.Models.Metadata.ItemType.DipSwitch: datItem = datItemObj.ToObject(); break; - case ItemType.Disk: + case Data.Models.Metadata.ItemType.Disk: datItem = datItemObj.ToObject(); break; - case ItemType.DiskArea: + case Data.Models.Metadata.ItemType.DiskArea: datItem = datItemObj.ToObject(); break; - case ItemType.Display: + case Data.Models.Metadata.ItemType.Display: datItem = datItemObj.ToObject(); break; - case ItemType.Driver: + case Data.Models.Metadata.ItemType.Driver: datItem = datItemObj.ToObject(); break; - case ItemType.Extension: + case Data.Models.Metadata.ItemType.Extension: datItem = datItemObj.ToObject(); break; - case ItemType.Feature: + case Data.Models.Metadata.ItemType.Feature: datItem = datItemObj.ToObject(); break; - case ItemType.File: + case Data.Models.Metadata.ItemType.File: datItem = datItemObj.ToObject(); break; - case ItemType.Info: + case Data.Models.Metadata.ItemType.Info: datItem = datItemObj.ToObject(); break; - case ItemType.Input: + case Data.Models.Metadata.ItemType.Input: datItem = datItemObj.ToObject(); break; - case ItemType.Instance: + case Data.Models.Metadata.ItemType.Instance: datItem = datItemObj.ToObject(); break; - case ItemType.Media: + case Data.Models.Metadata.ItemType.Media: datItem = datItemObj.ToObject(); break; - case ItemType.Original: + case Data.Models.Metadata.ItemType.Original: // Cannot be converted to a DatItem break; - case ItemType.Part: + case Data.Models.Metadata.ItemType.Part: datItem = datItemObj.ToObject(); break; - case ItemType.PartFeature: + case Data.Models.Metadata.ItemType.PartFeature: datItem = datItemObj.ToObject(); break; - case ItemType.Port: + case Data.Models.Metadata.ItemType.Port: datItem = datItemObj.ToObject(); break; - case ItemType.RamOption: + case Data.Models.Metadata.ItemType.RamOption: datItem = datItemObj.ToObject(); break; - case ItemType.Release: + case Data.Models.Metadata.ItemType.Release: datItem = datItemObj.ToObject(); break; - case ItemType.ReleaseDetails: + case Data.Models.Metadata.ItemType.ReleaseDetails: datItem = datItemObj.ToObject(); break; - case ItemType.Rom: + case Data.Models.Metadata.ItemType.Rom: datItem = datItemObj.ToObject(); break; - case ItemType.Sample: + case Data.Models.Metadata.ItemType.Sample: datItem = datItemObj.ToObject(); break; - case ItemType.Serials: + case Data.Models.Metadata.ItemType.Serials: datItem = datItemObj.ToObject(); break; - case ItemType.SharedFeat: + case Data.Models.Metadata.ItemType.SharedFeat: datItem = datItemObj.ToObject(); break; - case ItemType.Slot: + case Data.Models.Metadata.ItemType.Slot: datItem = datItemObj.ToObject(); break; - case ItemType.SlotOption: + case Data.Models.Metadata.ItemType.SlotOption: datItem = datItemObj.ToObject(); break; - case ItemType.SoftwareList: + case Data.Models.Metadata.ItemType.SoftwareList: datItem = datItemObj.ToObject(); break; - case ItemType.Sound: + case Data.Models.Metadata.ItemType.Sound: datItem = datItemObj.ToObject(); break; - case ItemType.SourceDetails: + case Data.Models.Metadata.ItemType.SourceDetails: datItem = datItemObj.ToObject(); break; - case ItemType.NULL: + // TODO: Implement these? + case Data.Models.Metadata.ItemType.Dump: + case Data.Models.Metadata.ItemType.Software: + case Data.Models.Metadata.ItemType.Video: + case Data.Models.Metadata.ItemType.NULL: default: // This should never happen break; diff --git a/SabreTools.Metadata.DatFiles/Formats/SabreXML.cs b/SabreTools.Metadata.DatFiles/Formats/SabreXML.cs index a51ed6df..a34b5fea 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SabreXML.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SabreXML.cs @@ -18,11 +18,11 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class SabreXML : DatFile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes #if NET5_0_OR_GREATER - => Enum.GetValues(); + => Enum.GetValues(); #else - => Enum.GetValues(typeof(ItemType)) as ItemType[] ?? []; + => Enum.GetValues(typeof(Data.Models.Metadata.ItemType)) as Data.Models.Metadata.ItemType[] ?? []; #endif /// diff --git a/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs b/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs index 7310823b..86ccd46a 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs @@ -15,11 +15,11 @@ namespace SabreTools.Metadata.DatFiles.Formats #region Fields /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Disk, - ItemType.Media, - ItemType.Rom, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/SfvFile.cs b/SabreTools.Metadata.DatFiles/Formats/SfvFile.cs index 8f577769..9a16b416 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SfvFile.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SfvFile.cs @@ -11,9 +11,9 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class SfvFile : Hashfile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/Sha1File.cs b/SabreTools.Metadata.DatFiles/Formats/Sha1File.cs index 7bbc4e2c..00891709 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Sha1File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Sha1File.cs @@ -11,11 +11,11 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class Sha1File : Hashfile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Disk, - ItemType.Media, - ItemType.Rom, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/Sha256File.cs b/SabreTools.Metadata.DatFiles/Formats/Sha256File.cs index b65b4c99..a0d90e3a 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Sha256File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Sha256File.cs @@ -11,10 +11,10 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class Sha256File : Hashfile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Media, - ItemType.Rom, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/Sha384File.cs b/SabreTools.Metadata.DatFiles/Formats/Sha384File.cs index d3ac102c..1b165af9 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Sha384File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Sha384File.cs @@ -11,9 +11,9 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class Sha384File : Hashfile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/Sha512File.cs b/SabreTools.Metadata.DatFiles/Formats/Sha512File.cs index 26f5ab07..0428d0d2 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Sha512File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Sha512File.cs @@ -11,9 +11,9 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class Sha512File : Hashfile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Rom, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs b/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs index 64332ce0..66db7703 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs @@ -78,14 +78,14 @@ namespace SabreTools.Metadata.DatFiles.Formats #region Fields /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.DipSwitch, - ItemType.Disk, - ItemType.Info, - ItemType.PartFeature, - ItemType.Rom, - ItemType.SharedFeat, + Data.Models.Metadata.ItemType.DipSwitch, + Data.Models.Metadata.ItemType.Disk, + Data.Models.Metadata.ItemType.Info, + Data.Models.Metadata.ItemType.PartFeature, + Data.Models.Metadata.ItemType.Rom, + Data.Models.Metadata.ItemType.SharedFeat, ]; #endregion diff --git a/SabreTools.Metadata.DatFiles/Formats/SpamSumFile.cs b/SabreTools.Metadata.DatFiles/Formats/SpamSumFile.cs index eb4f30f4..1ead5e31 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SpamSumFile.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SpamSumFile.cs @@ -11,10 +11,10 @@ namespace SabreTools.Metadata.DatFiles.Formats public sealed class SpamSumFile : Hashfile { /// - public override ItemType[] SupportedTypes + public override Data.Models.Metadata.ItemType[] SupportedTypes => [ - ItemType.Media, - ItemType.Rom, + Data.Models.Metadata.ItemType.Media, + Data.Models.Metadata.ItemType.Rom, ]; /// diff --git a/SabreTools.Metadata.DatFiles/ItemDictionary.cs b/SabreTools.Metadata.DatFiles/ItemDictionary.cs index 12131826..4ab04d2e 100644 --- a/SabreTools.Metadata.DatFiles/ItemDictionary.cs +++ b/SabreTools.Metadata.DatFiles/ItemDictionary.cs @@ -661,9 +661,9 @@ namespace SabreTools.Metadata.DatFiles private ItemKey GetBestAvailable() { // Get the required counts - long diskCount = DatStatistics.GetItemCount(ItemType.Disk); - long mediaCount = DatStatistics.GetItemCount(ItemType.Media); - long romCount = DatStatistics.GetItemCount(ItemType.Rom); + long diskCount = DatStatistics.GetItemCount(Data.Models.Metadata.ItemType.Disk); + long mediaCount = DatStatistics.GetItemCount(Data.Models.Metadata.ItemType.Media); + long romCount = DatStatistics.GetItemCount(Data.Models.Metadata.ItemType.Rom); long nodumpCount = DatStatistics.GetStatusCount(ItemStatus.Nodump); // If all items are supposed to have a SHA-512, we bucket by that @@ -863,10 +863,10 @@ namespace SabreTools.Metadata.DatFiles return nc.Compare(xMachineName, yMachineName); // If types don't match - string? xType = x.ReadString(Data.Models.Metadata.DatItem.TypeKey); - string? yType = y.ReadString(Data.Models.Metadata.DatItem.TypeKey); + Data.Models.Metadata.ItemType xType = x.ItemType; + Data.Models.Metadata.ItemType yType = y.ItemType; if (xType != yType) - return xType.AsItemType() - yType.AsItemType(); + return xType - yType; // If directory names don't match string? xDirectoryName = Path.GetDirectoryName(TextHelper.RemovePathUnsafeCharacters(x.GetName() ?? string.Empty)); diff --git a/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs b/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs index cd9161ff..91813283 100644 --- a/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs +++ b/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs @@ -976,9 +976,9 @@ namespace SabreTools.Metadata.DatFiles private ItemKey GetBestAvailable() { // Get the required counts - long diskCount = DatStatistics.GetItemCount(ItemType.Disk); - long mediaCount = DatStatistics.GetItemCount(ItemType.Media); - long romCount = DatStatistics.GetItemCount(ItemType.Rom); + long diskCount = DatStatistics.GetItemCount(Data.Models.Metadata.ItemType.Disk); + long mediaCount = DatStatistics.GetItemCount(Data.Models.Metadata.ItemType.Media); + long romCount = DatStatistics.GetItemCount(Data.Models.Metadata.ItemType.Rom); long nodumpCount = DatStatistics.GetStatusCount(ItemStatus.Nodump); // If all items are supposed to have a SHA-512, we bucket by that @@ -1197,10 +1197,10 @@ namespace SabreTools.Metadata.DatFiles return nc.Compare(xMachineName, yMachineName); // If types don't match - string? xType = x.Value.ReadString(Data.Models.Metadata.DatItem.TypeKey); - string? yType = y.Value.ReadString(Data.Models.Metadata.DatItem.TypeKey); + Data.Models.Metadata.ItemType xType = x.Value.ItemType; + Data.Models.Metadata.ItemType yType = y.Value.ItemType; if (xType != yType) - return xType.AsItemType() - yType.AsItemType(); + return xType - yType; // If directory names don't match string? xDirectoryName = Path.GetDirectoryName(TextHelper.RemovePathUnsafeCharacters(x.Value.GetName())); diff --git a/SabreTools.Metadata.DatItems.Test/DatItemTests.cs b/SabreTools.Metadata.DatItems.Test/DatItemTests.cs index 36c66ca4..df6b29cc 100644 --- a/SabreTools.Metadata.DatItems.Test/DatItemTests.cs +++ b/SabreTools.Metadata.DatItems.Test/DatItemTests.cs @@ -23,7 +23,7 @@ namespace SabreTools.Metadata.DatItems.Test { private readonly string? _nameKey; - protected override ItemType ItemType => ItemType.Blank; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Blank; public TestDatItem() => _nameKey = TestDatItemModel.NameKey; diff --git a/SabreTools.Metadata.DatItems.Test/ExtensionsTests.cs b/SabreTools.Metadata.DatItems.Test/ExtensionsTests.cs index dfb28c81..26473563 100644 --- a/SabreTools.Metadata.DatItems.Test/ExtensionsTests.cs +++ b/SabreTools.Metadata.DatItems.Test/ExtensionsTests.cs @@ -7,63 +7,63 @@ namespace SabreTools.Metadata.DatItems.Test #region String to Enum [Theory] - [InlineData(null, ItemType.NULL)] - [InlineData("adjuster", ItemType.Adjuster)] - [InlineData("analog", ItemType.Analog)] - [InlineData("archive", ItemType.Archive)] - [InlineData("biosset", ItemType.BiosSet)] - [InlineData("blank", ItemType.Blank)] - [InlineData("chip", ItemType.Chip)] - [InlineData("condition", ItemType.Condition)] - [InlineData("configuration", ItemType.Configuration)] - [InlineData("conflocation", ItemType.ConfLocation)] - [InlineData("confsetting", ItemType.ConfSetting)] - [InlineData("control", ItemType.Control)] - [InlineData("dataarea", ItemType.DataArea)] - [InlineData("device", ItemType.Device)] - [InlineData("deviceref", ItemType.DeviceRef)] - [InlineData("device_ref", ItemType.DeviceRef)] - [InlineData("diplocation", ItemType.DipLocation)] - [InlineData("dipswitch", ItemType.DipSwitch)] - [InlineData("dipvalue", ItemType.DipValue)] - [InlineData("disk", ItemType.Disk)] - [InlineData("diskarea", ItemType.DiskArea)] - [InlineData("display", ItemType.Display)] - [InlineData("driver", ItemType.Driver)] - [InlineData("extension", ItemType.Extension)] - [InlineData("feature", ItemType.Feature)] - [InlineData("file", ItemType.File)] - [InlineData("info", ItemType.Info)] - [InlineData("input", ItemType.Input)] - [InlineData("instance", ItemType.Instance)] - [InlineData("media", ItemType.Media)] - [InlineData("part", ItemType.Part)] - [InlineData("partfeature", ItemType.PartFeature)] - [InlineData("part_feature", ItemType.PartFeature)] - [InlineData("port", ItemType.Port)] - [InlineData("ramoption", ItemType.RamOption)] - [InlineData("ram_option", ItemType.RamOption)] - [InlineData("release", ItemType.Release)] - [InlineData("releasedetails", ItemType.ReleaseDetails)] - [InlineData("release_details", ItemType.ReleaseDetails)] - [InlineData("rom", ItemType.Rom)] - [InlineData("sample", ItemType.Sample)] - [InlineData("serials", ItemType.Serials)] - [InlineData("sharedfeat", ItemType.SharedFeat)] - [InlineData("shared_feat", ItemType.SharedFeat)] - [InlineData("sharedfeature", ItemType.SharedFeat)] - [InlineData("shared_feature", ItemType.SharedFeat)] - [InlineData("slot", ItemType.Slot)] - [InlineData("slotoption", ItemType.SlotOption)] - [InlineData("slot_option", ItemType.SlotOption)] - [InlineData("softwarelist", ItemType.SoftwareList)] - [InlineData("software_list", ItemType.SoftwareList)] - [InlineData("sound", ItemType.Sound)] - [InlineData("sourcedetails", ItemType.SourceDetails)] - [InlineData("source_details", ItemType.SourceDetails)] - public void AsItemTypeTest(string? field, ItemType expected) + [InlineData(null, Data.Models.Metadata.ItemType.NULL)] + [InlineData("adjuster", Data.Models.Metadata.ItemType.Adjuster)] + [InlineData("analog", Data.Models.Metadata.ItemType.Analog)] + [InlineData("archive", Data.Models.Metadata.ItemType.Archive)] + [InlineData("biosset", Data.Models.Metadata.ItemType.BiosSet)] + [InlineData("blank", Data.Models.Metadata.ItemType.Blank)] + [InlineData("chip", Data.Models.Metadata.ItemType.Chip)] + [InlineData("condition", Data.Models.Metadata.ItemType.Condition)] + [InlineData("configuration", Data.Models.Metadata.ItemType.Configuration)] + [InlineData("conflocation", Data.Models.Metadata.ItemType.ConfLocation)] + [InlineData("confsetting", Data.Models.Metadata.ItemType.ConfSetting)] + [InlineData("control", Data.Models.Metadata.ItemType.Control)] + [InlineData("dataarea", Data.Models.Metadata.ItemType.DataArea)] + [InlineData("device", Data.Models.Metadata.ItemType.Device)] + [InlineData("deviceref", Data.Models.Metadata.ItemType.DeviceRef)] + [InlineData("device_ref", Data.Models.Metadata.ItemType.DeviceRef)] + [InlineData("diplocation", Data.Models.Metadata.ItemType.DipLocation)] + [InlineData("dipswitch", Data.Models.Metadata.ItemType.DipSwitch)] + [InlineData("dipvalue", Data.Models.Metadata.ItemType.DipValue)] + [InlineData("disk", Data.Models.Metadata.ItemType.Disk)] + [InlineData("diskarea", Data.Models.Metadata.ItemType.DiskArea)] + [InlineData("display", Data.Models.Metadata.ItemType.Display)] + [InlineData("driver", Data.Models.Metadata.ItemType.Driver)] + [InlineData("extension", Data.Models.Metadata.ItemType.Extension)] + [InlineData("feature", Data.Models.Metadata.ItemType.Feature)] + [InlineData("file", Data.Models.Metadata.ItemType.File)] + [InlineData("info", Data.Models.Metadata.ItemType.Info)] + [InlineData("input", Data.Models.Metadata.ItemType.Input)] + [InlineData("instance", Data.Models.Metadata.ItemType.Instance)] + [InlineData("media", Data.Models.Metadata.ItemType.Media)] + [InlineData("part", Data.Models.Metadata.ItemType.Part)] + [InlineData("partfeature", Data.Models.Metadata.ItemType.PartFeature)] + [InlineData("part_feature", Data.Models.Metadata.ItemType.PartFeature)] + [InlineData("port", Data.Models.Metadata.ItemType.Port)] + [InlineData("ramoption", Data.Models.Metadata.ItemType.RamOption)] + [InlineData("ram_option", Data.Models.Metadata.ItemType.RamOption)] + [InlineData("release", Data.Models.Metadata.ItemType.Release)] + [InlineData("releasedetails", Data.Models.Metadata.ItemType.ReleaseDetails)] + [InlineData("release_details", Data.Models.Metadata.ItemType.ReleaseDetails)] + [InlineData("rom", Data.Models.Metadata.ItemType.Rom)] + [InlineData("sample", Data.Models.Metadata.ItemType.Sample)] + [InlineData("serials", Data.Models.Metadata.ItemType.Serials)] + [InlineData("sharedfeat", Data.Models.Metadata.ItemType.SharedFeat)] + [InlineData("shared_feat", Data.Models.Metadata.ItemType.SharedFeat)] + [InlineData("sharedfeature", Data.Models.Metadata.ItemType.SharedFeat)] + [InlineData("shared_feature", Data.Models.Metadata.ItemType.SharedFeat)] + [InlineData("slot", Data.Models.Metadata.ItemType.Slot)] + [InlineData("slotoption", Data.Models.Metadata.ItemType.SlotOption)] + [InlineData("slot_option", Data.Models.Metadata.ItemType.SlotOption)] + [InlineData("softwarelist", Data.Models.Metadata.ItemType.SoftwareList)] + [InlineData("software_list", Data.Models.Metadata.ItemType.SoftwareList)] + [InlineData("sound", Data.Models.Metadata.ItemType.Sound)] + [InlineData("sourcedetails", Data.Models.Metadata.ItemType.SourceDetails)] + [InlineData("source_details", Data.Models.Metadata.ItemType.SourceDetails)] + public void AsItemTypeTest(string? field, Data.Models.Metadata.ItemType expected) { - ItemType actual = field.AsItemType(); + Data.Models.Metadata.ItemType actual = field.AsItemType(); Assert.Equal(expected, actual); } @@ -86,51 +86,51 @@ namespace SabreTools.Metadata.DatItems.Test #region Enum to String [Theory] - [InlineData(ItemType.NULL, null)] - [InlineData(ItemType.Adjuster, "adjuster")] - [InlineData(ItemType.Analog, "analog")] - [InlineData(ItemType.Archive, "archive")] - [InlineData(ItemType.BiosSet, "biosset")] - [InlineData(ItemType.Blank, "blank")] - [InlineData(ItemType.Chip, "chip")] - [InlineData(ItemType.Condition, "condition")] - [InlineData(ItemType.Configuration, "configuration")] - [InlineData(ItemType.ConfLocation, "conflocation")] - [InlineData(ItemType.ConfSetting, "confsetting")] - [InlineData(ItemType.Control, "control")] - [InlineData(ItemType.DataArea, "dataarea")] - [InlineData(ItemType.Device, "device")] - [InlineData(ItemType.DeviceRef, "device_ref")] - [InlineData(ItemType.DipLocation, "diplocation")] - [InlineData(ItemType.DipSwitch, "dipswitch")] - [InlineData(ItemType.DipValue, "dipvalue")] - [InlineData(ItemType.Disk, "disk")] - [InlineData(ItemType.DiskArea, "diskarea")] - [InlineData(ItemType.Display, "display")] - [InlineData(ItemType.Driver, "driver")] - [InlineData(ItemType.Extension, "extension")] - [InlineData(ItemType.Feature, "feature")] - [InlineData(ItemType.File, "file")] - [InlineData(ItemType.Info, "info")] - [InlineData(ItemType.Input, "input")] - [InlineData(ItemType.Instance, "instance")] - [InlineData(ItemType.Media, "media")] - [InlineData(ItemType.Part, "part")] - [InlineData(ItemType.PartFeature, "part_feature")] - [InlineData(ItemType.Port, "port")] - [InlineData(ItemType.RamOption, "ramoption")] - [InlineData(ItemType.Release, "release")] - [InlineData(ItemType.ReleaseDetails, "release_details")] - [InlineData(ItemType.Rom, "rom")] - [InlineData(ItemType.Sample, "sample")] - [InlineData(ItemType.Serials, "serials")] - [InlineData(ItemType.SharedFeat, "sharedfeat")] - [InlineData(ItemType.Slot, "slot")] - [InlineData(ItemType.SlotOption, "slotoption")] - [InlineData(ItemType.SoftwareList, "softwarelist")] - [InlineData(ItemType.Sound, "sound")] - [InlineData(ItemType.SourceDetails, "source_details")] - public void FromItemTypeTest(ItemType field, string? expected) + [InlineData(Data.Models.Metadata.ItemType.NULL, null)] + [InlineData(Data.Models.Metadata.ItemType.Adjuster, "adjuster")] + [InlineData(Data.Models.Metadata.ItemType.Analog, "analog")] + [InlineData(Data.Models.Metadata.ItemType.Archive, "archive")] + [InlineData(Data.Models.Metadata.ItemType.BiosSet, "biosset")] + [InlineData(Data.Models.Metadata.ItemType.Blank, "blank")] + [InlineData(Data.Models.Metadata.ItemType.Chip, "chip")] + [InlineData(Data.Models.Metadata.ItemType.Condition, "condition")] + [InlineData(Data.Models.Metadata.ItemType.Configuration, "configuration")] + [InlineData(Data.Models.Metadata.ItemType.ConfLocation, "conflocation")] + [InlineData(Data.Models.Metadata.ItemType.ConfSetting, "confsetting")] + [InlineData(Data.Models.Metadata.ItemType.Control, "control")] + [InlineData(Data.Models.Metadata.ItemType.DataArea, "dataarea")] + [InlineData(Data.Models.Metadata.ItemType.Device, "device")] + [InlineData(Data.Models.Metadata.ItemType.DeviceRef, "device_ref")] + [InlineData(Data.Models.Metadata.ItemType.DipLocation, "diplocation")] + [InlineData(Data.Models.Metadata.ItemType.DipSwitch, "dipswitch")] + [InlineData(Data.Models.Metadata.ItemType.DipValue, "dipvalue")] + [InlineData(Data.Models.Metadata.ItemType.Disk, "disk")] + [InlineData(Data.Models.Metadata.ItemType.DiskArea, "diskarea")] + [InlineData(Data.Models.Metadata.ItemType.Display, "display")] + [InlineData(Data.Models.Metadata.ItemType.Driver, "driver")] + [InlineData(Data.Models.Metadata.ItemType.Extension, "extension")] + [InlineData(Data.Models.Metadata.ItemType.Feature, "feature")] + [InlineData(Data.Models.Metadata.ItemType.File, "file")] + [InlineData(Data.Models.Metadata.ItemType.Info, "info")] + [InlineData(Data.Models.Metadata.ItemType.Input, "input")] + [InlineData(Data.Models.Metadata.ItemType.Instance, "instance")] + [InlineData(Data.Models.Metadata.ItemType.Media, "media")] + [InlineData(Data.Models.Metadata.ItemType.Part, "part")] + [InlineData(Data.Models.Metadata.ItemType.PartFeature, "part_feature")] + [InlineData(Data.Models.Metadata.ItemType.Port, "port")] + [InlineData(Data.Models.Metadata.ItemType.RamOption, "ramoption")] + [InlineData(Data.Models.Metadata.ItemType.Release, "release")] + [InlineData(Data.Models.Metadata.ItemType.ReleaseDetails, "release_details")] + [InlineData(Data.Models.Metadata.ItemType.Rom, "rom")] + [InlineData(Data.Models.Metadata.ItemType.Sample, "sample")] + [InlineData(Data.Models.Metadata.ItemType.Serials, "serials")] + [InlineData(Data.Models.Metadata.ItemType.SharedFeat, "sharedfeat")] + [InlineData(Data.Models.Metadata.ItemType.Slot, "slot")] + [InlineData(Data.Models.Metadata.ItemType.SlotOption, "slotoption")] + [InlineData(Data.Models.Metadata.ItemType.SoftwareList, "softwarelist")] + [InlineData(Data.Models.Metadata.ItemType.Sound, "sound")] + [InlineData(Data.Models.Metadata.ItemType.SourceDetails, "source_details")] + public void FromItemTypeTest(Data.Models.Metadata.ItemType field, string? expected) { string? actual = field.AsStringValue(); Assert.Equal(expected, actual); diff --git a/SabreTools.Metadata.DatItems/DatItem.cs b/SabreTools.Metadata.DatItems/DatItem.cs index e542490d..92d1e050 100644 --- a/SabreTools.Metadata.DatItems/DatItem.cs +++ b/SabreTools.Metadata.DatItems/DatItem.cs @@ -85,7 +85,7 @@ namespace SabreTools.Metadata.DatItems /// /// Item type for the object /// - protected abstract ItemType ItemType { get; } + internal abstract Data.Models.Metadata.ItemType ItemType { get; } #endregion @@ -223,8 +223,8 @@ namespace SabreTools.Metadata.DatItems return false; // Get the types for comparison - ItemType selfType = ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); - ItemType otherType = other.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); + Data.Models.Metadata.ItemType selfType = ItemType; + Data.Models.Metadata.ItemType otherType = other.ItemType; // If we don't have a matched type, return false if (selfType != otherType) diff --git a/SabreTools.Metadata.DatItems/DatItemT.cs b/SabreTools.Metadata.DatItems/DatItemT.cs index f0386246..9859bc5f 100644 --- a/SabreTools.Metadata.DatItems/DatItemT.cs +++ b/SabreTools.Metadata.DatItems/DatItemT.cs @@ -18,7 +18,6 @@ namespace SabreTools.Metadata.DatItems _internal = new T(); SetName(string.Empty); - Write(Data.Models.Metadata.DatItem.TypeKey, ItemType); Write(MachineKey, new Machine()); } @@ -29,7 +28,6 @@ namespace SabreTools.Metadata.DatItems { _internal = item; - Write(Data.Models.Metadata.DatItem.TypeKey, ItemType); Write(MachineKey, new Machine()); } @@ -78,8 +76,8 @@ namespace SabreTools.Metadata.DatItems return false; // Get the types for comparison - ItemType selfType = ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); - ItemType otherType = other.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); + Data.Models.Metadata.ItemType selfType = ItemType; + Data.Models.Metadata.ItemType otherType = other.ItemType; // If we don't have a matched type, return false if (selfType != otherType) diff --git a/SabreTools.Metadata.DatItems/Enums.cs b/SabreTools.Metadata.DatItems/Enums.cs index b0427e43..85084652 100644 --- a/SabreTools.Metadata.DatItems/Enums.cs +++ b/SabreTools.Metadata.DatItems/Enums.cs @@ -41,153 +41,6 @@ namespace SabreTools.Metadata.DatItems SpamSum, } - /// - /// Determine what type of file an item is - /// - public enum ItemType - { - /// - /// This is a fake flag that is used for filter only - /// - NULL = 0, - - // "Actionable" item types - - /// "rom" - Rom, - - /// "disk" - Disk, - - /// "file" - File, - - /// "media" - Media, - - // "Auxiliary" item types - - /// "adjuster" - Adjuster, - - /// "analog" - Analog, - - /// "archive" - Archive, - - /// "biosset" - BiosSet, - - /// "chip" - Chip, - - /// "condition" - Condition, - - /// "configuration" - Configuration, - - /// "conflocation" - ConfLocation, - - /// "confsetting" - ConfSetting, - - /// "control" - Control, - - /// "dataarea" - DataArea, - - /// "device" - Device, - - /// "device_ref", "deviceref" - DeviceRef, - - /// "diplocation" - DipLocation, - - /// "dipswitch" - DipSwitch, - - /// "dipvalue" - DipValue, - - /// "diskarea" - DiskArea, - - /// "display" - Display, - - /// "driver" - Driver, - - /// "extension" - Extension, - - /// "feature" - Feature, - - /// "info" - Info, - - /// "input" - Input, - - /// "instance" - Instance, - - /// "original" - Original, - - /// "part" - Part, - - /// "part_feature", "partfeature" - PartFeature, - - /// "port" - Port, - - /// "ramoption", "ram_option" - RamOption, - - /// "release" - Release, - - /// "release_details", "releasedetails" - ReleaseDetails, - - /// "sample" - Sample, - - /// "serials" - Serials, - - /// "sharedfeat", "shared_feat", "sharedfeature", "shared_feature" - SharedFeat, - - /// "slot" - Slot, - - /// "slotoption", "slot_option" - SlotOption, - - /// "softwarelist", "software_list" - SoftwareList, - - /// "sound" - Sound, - - /// "source_details", "sourcedetails" - SourceDetails, - - /// "blank" - Blank = 99, // This is not a real type, only used internally - } - /// /// Determine what type of machine it is /// diff --git a/SabreTools.Metadata.DatItems/Extensions.cs b/SabreTools.Metadata.DatItems/Extensions.cs index 1f42603e..f64ee29a 100644 --- a/SabreTools.Metadata.DatItems/Extensions.cs +++ b/SabreTools.Metadata.DatItems/Extensions.cs @@ -9,58 +9,61 @@ namespace SabreTools.Metadata.DatItems /// /// String value to parse/param> /// Enum value representing the input, default on error - public static ItemType AsItemType(this string? value) + public static Data.Models.Metadata.ItemType AsItemType(this string? value) { return value?.ToLowerInvariant() switch { // "Actionable" item types - "rom" => ItemType.Rom, - "disk" => ItemType.Disk, - "file" => ItemType.File, - "media" => ItemType.Media, + "rom" => Data.Models.Metadata.ItemType.Rom, + "disk" => Data.Models.Metadata.ItemType.Disk, + "file" => Data.Models.Metadata.ItemType.File, + "media" => Data.Models.Metadata.ItemType.Media, // "Auxiliary" item types - "adjuster" => ItemType.Adjuster, - "analog" => ItemType.Analog, - "archive" => ItemType.Archive, - "biosset" => ItemType.BiosSet, - "chip" => ItemType.Chip, - "condition" => ItemType.Condition, - "configuration" => ItemType.Configuration, - "conflocation" => ItemType.ConfLocation, - "confsetting" => ItemType.ConfSetting, - "control" => ItemType.Control, - "dataarea" => ItemType.DataArea, - "device" => ItemType.Device, - "device_ref" or "deviceref" => ItemType.DeviceRef, - "diplocation" => ItemType.DipLocation, - "dipswitch" => ItemType.DipSwitch, - "dipvalue" => ItemType.DipValue, - "diskarea" => ItemType.DiskArea, - "display" => ItemType.Display, - "driver" => ItemType.Driver, - "extension" => ItemType.Extension, - "feature" => ItemType.Feature, - "info" => ItemType.Info, - "input" => ItemType.Input, - "instance" => ItemType.Instance, - "original" => ItemType.Original, - "part" => ItemType.Part, - "part_feature" or "partfeature" => ItemType.PartFeature, - "port" => ItemType.Port, - "ramoption" or "ram_option" => ItemType.RamOption, - "release" => ItemType.Release, - "release_details" or "releasedetails" => ItemType.ReleaseDetails, - "sample" => ItemType.Sample, - "serials" => ItemType.Serials, - "sharedfeat" or "shared_feat" or "sharedfeature" or "shared_feature" => ItemType.SharedFeat, - "slot" => ItemType.Slot, - "slotoption" or "slot_option" => ItemType.SlotOption, - "softwarelist" or "software_list" => ItemType.SoftwareList, - "sound" => ItemType.Sound, - "source_details" or "sourcedetails" => ItemType.SourceDetails, - "blank" => ItemType.Blank, - _ => ItemType.NULL, + "adjuster" => Data.Models.Metadata.ItemType.Adjuster, + "analog" => Data.Models.Metadata.ItemType.Analog, + "archive" => Data.Models.Metadata.ItemType.Archive, + "biosset" => Data.Models.Metadata.ItemType.BiosSet, + "chip" => Data.Models.Metadata.ItemType.Chip, + "condition" => Data.Models.Metadata.ItemType.Condition, + "configuration" => Data.Models.Metadata.ItemType.Configuration, + "conflocation" => Data.Models.Metadata.ItemType.ConfLocation, + "confsetting" => Data.Models.Metadata.ItemType.ConfSetting, + "control" => Data.Models.Metadata.ItemType.Control, + "dataarea" => Data.Models.Metadata.ItemType.DataArea, + "device" => Data.Models.Metadata.ItemType.Device, + "device_ref" or "deviceref" => Data.Models.Metadata.ItemType.DeviceRef, + "diplocation" => Data.Models.Metadata.ItemType.DipLocation, + "dipswitch" => Data.Models.Metadata.ItemType.DipSwitch, + "dipvalue" => Data.Models.Metadata.ItemType.DipValue, + "diskarea" => Data.Models.Metadata.ItemType.DiskArea, + "display" => Data.Models.Metadata.ItemType.Display, + "driver" => Data.Models.Metadata.ItemType.Driver, + "dump" => Data.Models.Metadata.ItemType.Dump, + "extension" => Data.Models.Metadata.ItemType.Extension, + "feature" => Data.Models.Metadata.ItemType.Feature, + "info" => Data.Models.Metadata.ItemType.Info, + "input" => Data.Models.Metadata.ItemType.Input, + "instance" => Data.Models.Metadata.ItemType.Instance, + "original" => Data.Models.Metadata.ItemType.Original, + "part" => Data.Models.Metadata.ItemType.Part, + "part_feature" or "partfeature" => Data.Models.Metadata.ItemType.PartFeature, + "port" => Data.Models.Metadata.ItemType.Port, + "ramoption" or "ram_option" => Data.Models.Metadata.ItemType.RamOption, + "release" => Data.Models.Metadata.ItemType.Release, + "release_details" or "releasedetails" => Data.Models.Metadata.ItemType.ReleaseDetails, + "sample" => Data.Models.Metadata.ItemType.Sample, + "serials" => Data.Models.Metadata.ItemType.Serials, + "sharedfeat" or "shared_feat" or "sharedfeature" or "shared_feature" => Data.Models.Metadata.ItemType.SharedFeat, + "slot" => Data.Models.Metadata.ItemType.Slot, + "slotoption" or "slot_option" => Data.Models.Metadata.ItemType.SlotOption, + "software" => Data.Models.Metadata.ItemType.Software, + "softwarelist" or "software_list" => Data.Models.Metadata.ItemType.SoftwareList, + "sound" => Data.Models.Metadata.ItemType.Sound, + "source_details" or "sourcedetails" => Data.Models.Metadata.ItemType.SourceDetails, + "video" => Data.Models.Metadata.ItemType.Video, + "blank" => Data.Models.Metadata.ItemType.Blank, + _ => Data.Models.Metadata.ItemType.NULL, }; } @@ -90,60 +93,62 @@ namespace SabreTools.Metadata.DatItems /// /// Enum value to parse/param> /// String value representing the input, default on error - public static string? AsStringValue(this ItemType value) + public static string? AsStringValue(this Data.Models.Metadata.ItemType value) { return value switch { // "Actionable" item types - ItemType.Rom => "rom", - ItemType.Disk => "disk", - ItemType.File => "file", - ItemType.Media => "media", + Data.Models.Metadata.ItemType.Rom => "rom", + Data.Models.Metadata.ItemType.Disk => "disk", + Data.Models.Metadata.ItemType.File => "file", + Data.Models.Metadata.ItemType.Media => "media", // "Auxiliary" item types + Data.Models.Metadata.ItemType.Adjuster => "adjuster", + Data.Models.Metadata.ItemType.Analog => "analog", + Data.Models.Metadata.ItemType.Archive => "archive", + Data.Models.Metadata.ItemType.BiosSet => "biosset", + Data.Models.Metadata.ItemType.Chip => "chip", + Data.Models.Metadata.ItemType.Condition => "condition", + Data.Models.Metadata.ItemType.Configuration => "configuration", + Data.Models.Metadata.ItemType.ConfLocation => "conflocation", + Data.Models.Metadata.ItemType.ConfSetting => "confsetting", + Data.Models.Metadata.ItemType.Control => "control", + Data.Models.Metadata.ItemType.DataArea => "dataarea", + Data.Models.Metadata.ItemType.Device => "device", + Data.Models.Metadata.ItemType.DeviceRef => "device_ref", + Data.Models.Metadata.ItemType.DipLocation => "diplocation", + Data.Models.Metadata.ItemType.DipSwitch => "dipswitch", + Data.Models.Metadata.ItemType.DipValue => "dipvalue", + Data.Models.Metadata.ItemType.DiskArea => "diskarea", + Data.Models.Metadata.ItemType.Display => "display", + Data.Models.Metadata.ItemType.Driver => "driver", + Data.Models.Metadata.ItemType.Dump => "dump", + Data.Models.Metadata.ItemType.Extension => "extension", + Data.Models.Metadata.ItemType.Feature => "feature", + Data.Models.Metadata.ItemType.Info => "info", + Data.Models.Metadata.ItemType.Input => "input", + Data.Models.Metadata.ItemType.Instance => "instance", + Data.Models.Metadata.ItemType.Original => "original", + Data.Models.Metadata.ItemType.Part => "part", + Data.Models.Metadata.ItemType.PartFeature => "part_feature", + Data.Models.Metadata.ItemType.Port => "port", + Data.Models.Metadata.ItemType.RamOption => "ramoption", + Data.Models.Metadata.ItemType.Release => "release", + Data.Models.Metadata.ItemType.ReleaseDetails => "release_details", + Data.Models.Metadata.ItemType.Sample => "sample", + Data.Models.Metadata.ItemType.Serials => "serials", + Data.Models.Metadata.ItemType.SharedFeat => "sharedfeat", + Data.Models.Metadata.ItemType.Slot => "slot", + Data.Models.Metadata.ItemType.SlotOption => "slotoption", + Data.Models.Metadata.ItemType.Software => "software", + Data.Models.Metadata.ItemType.SoftwareList => "softwarelist", + Data.Models.Metadata.ItemType.Sound => "sound", + Data.Models.Metadata.ItemType.SourceDetails => "source_details", + Data.Models.Metadata.ItemType.Video => "video", + Data.Models.Metadata.ItemType.Blank => "blank", - ItemType.Adjuster => "adjuster", - ItemType.Analog => "analog", - ItemType.Archive => "archive", - ItemType.BiosSet => "biosset", - ItemType.Chip => "chip", - ItemType.Condition => "condition", - ItemType.Configuration => "configuration", - ItemType.ConfLocation => "conflocation", - ItemType.ConfSetting => "confsetting", - ItemType.Control => "control", - ItemType.DataArea => "dataarea", - ItemType.Device => "device", - ItemType.DeviceRef => "device_ref", - ItemType.DipLocation => "diplocation", - ItemType.DipSwitch => "dipswitch", - ItemType.DipValue => "dipvalue", - ItemType.DiskArea => "diskarea", - ItemType.Display => "display", - ItemType.Driver => "driver", - ItemType.Extension => "extension", - ItemType.Feature => "feature", - ItemType.Info => "info", - ItemType.Input => "input", - ItemType.Instance => "instance", - ItemType.Original => "original", - ItemType.Part => "part", - ItemType.PartFeature => "part_feature", - ItemType.Port => "port", - ItemType.RamOption => "ramoption", - ItemType.Release => "release", - ItemType.ReleaseDetails => "release_details", - ItemType.Sample => "sample", - ItemType.Serials => "serials", - ItemType.SharedFeat => "sharedfeat", - ItemType.Slot => "slot", - ItemType.SlotOption => "slotoption", - ItemType.SoftwareList => "softwarelist", - ItemType.Sound => "sound", - ItemType.SourceDetails => "source_details", - ItemType.Blank => "blank", - - ItemType.NULL => null, + Data.Models.Metadata.ItemType.NULL => null, _ => null, }; } diff --git a/SabreTools.Metadata.DatItems/Formats/Adjuster.cs b/SabreTools.Metadata.DatItems/Formats/Adjuster.cs index fa62b24d..71f951f4 100644 --- a/SabreTools.Metadata.DatItems/Formats/Adjuster.cs +++ b/SabreTools.Metadata.DatItems/Formats/Adjuster.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Adjuster; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Adjuster; [JsonIgnore] public bool ConditionsSpecified diff --git a/SabreTools.Metadata.DatItems/Formats/Analog.cs b/SabreTools.Metadata.DatItems/Formats/Analog.cs index 02e9c43f..b2c8f80e 100644 --- a/SabreTools.Metadata.DatItems/Formats/Analog.cs +++ b/SabreTools.Metadata.DatItems/Formats/Analog.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Analog; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Analog; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Archive.cs b/SabreTools.Metadata.DatItems/Formats/Archive.cs index 3cdb978d..98640cb4 100644 --- a/SabreTools.Metadata.DatItems/Formats/Archive.cs +++ b/SabreTools.Metadata.DatItems/Formats/Archive.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Archive; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Archive; // TODO: None of the following are used or checked diff --git a/SabreTools.Metadata.DatItems/Formats/BiosSet.cs b/SabreTools.Metadata.DatItems/Formats/BiosSet.cs index bb47ae1d..ab93e366 100644 --- a/SabreTools.Metadata.DatItems/Formats/BiosSet.cs +++ b/SabreTools.Metadata.DatItems/Formats/BiosSet.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.BiosSet; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.BiosSet; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Blank.cs b/SabreTools.Metadata.DatItems/Formats/Blank.cs index a5d53525..23c6e15f 100644 --- a/SabreTools.Metadata.DatItems/Formats/Blank.cs +++ b/SabreTools.Metadata.DatItems/Formats/Blank.cs @@ -12,7 +12,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Blank; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Blank; #endregion @@ -21,10 +21,7 @@ namespace SabreTools.Metadata.DatItems.Formats /// /// Create a default, empty Blank object /// - public Blank() - { - Write(Data.Models.Metadata.DatItem.TypeKey, ItemType); - } + public Blank() { } #endregion @@ -37,7 +34,6 @@ namespace SabreTools.Metadata.DatItems.Formats blank.Write(MachineKey, GetMachine()); blank.Write(RemoveKey, ReadBool(RemoveKey)); blank.Write(SourceKey, Read(SourceKey)); - blank.Write(Data.Models.Metadata.DatItem.TypeKey, ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue()); return blank; } @@ -80,7 +76,7 @@ namespace SabreTools.Metadata.DatItems.Formats public override bool Equals(DatItem? other) { // If we don't have a blank, return false - if (ReadString(Data.Models.Metadata.DatItem.TypeKey) != other?.ReadString(Data.Models.Metadata.DatItem.TypeKey)) + if (ItemType != other?.ItemType) return false; // Otherwise, treat it as a Blank diff --git a/SabreTools.Metadata.DatItems/Formats/Chip.cs b/SabreTools.Metadata.DatItems/Formats/Chip.cs index 18df99e3..391979a5 100644 --- a/SabreTools.Metadata.DatItems/Formats/Chip.cs +++ b/SabreTools.Metadata.DatItems/Formats/Chip.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Chip; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Chip; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Condition.cs b/SabreTools.Metadata.DatItems/Formats/Condition.cs index 9d0011bf..5af02f57 100644 --- a/SabreTools.Metadata.DatItems/Formats/Condition.cs +++ b/SabreTools.Metadata.DatItems/Formats/Condition.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Condition; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Condition; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/ConfLocation.cs b/SabreTools.Metadata.DatItems/Formats/ConfLocation.cs index 78750d68..832331c4 100644 --- a/SabreTools.Metadata.DatItems/Formats/ConfLocation.cs +++ b/SabreTools.Metadata.DatItems/Formats/ConfLocation.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.ConfLocation; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.ConfLocation; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/ConfSetting.cs b/SabreTools.Metadata.DatItems/Formats/ConfSetting.cs index 82804d7a..2b8adac0 100644 --- a/SabreTools.Metadata.DatItems/Formats/ConfSetting.cs +++ b/SabreTools.Metadata.DatItems/Formats/ConfSetting.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.ConfSetting; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.ConfSetting; [JsonIgnore] public bool ConditionsSpecified diff --git a/SabreTools.Metadata.DatItems/Formats/Configuration.cs b/SabreTools.Metadata.DatItems/Formats/Configuration.cs index 6e1521ce..c27feb08 100644 --- a/SabreTools.Metadata.DatItems/Formats/Configuration.cs +++ b/SabreTools.Metadata.DatItems/Formats/Configuration.cs @@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Configuration; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Configuration; [JsonIgnore] public bool ConditionsSpecified diff --git a/SabreTools.Metadata.DatItems/Formats/Control.cs b/SabreTools.Metadata.DatItems/Formats/Control.cs index ca837969..25febac4 100644 --- a/SabreTools.Metadata.DatItems/Formats/Control.cs +++ b/SabreTools.Metadata.DatItems/Formats/Control.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Control; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Control; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/DataArea.cs b/SabreTools.Metadata.DatItems/Formats/DataArea.cs index f436a9db..c9cb7546 100644 --- a/SabreTools.Metadata.DatItems/Formats/DataArea.cs +++ b/SabreTools.Metadata.DatItems/Formats/DataArea.cs @@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.DataArea; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.DataArea; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Device.cs b/SabreTools.Metadata.DatItems/Formats/Device.cs index 80c8e92e..a413868b 100644 --- a/SabreTools.Metadata.DatItems/Formats/Device.cs +++ b/SabreTools.Metadata.DatItems/Formats/Device.cs @@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Device; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Device; [JsonIgnore] public bool InstancesSpecified diff --git a/SabreTools.Metadata.DatItems/Formats/DeviceRef.cs b/SabreTools.Metadata.DatItems/Formats/DeviceRef.cs index 9814037f..b3611c61 100644 --- a/SabreTools.Metadata.DatItems/Formats/DeviceRef.cs +++ b/SabreTools.Metadata.DatItems/Formats/DeviceRef.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.DeviceRef; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.DeviceRef; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/DipLocation.cs b/SabreTools.Metadata.DatItems/Formats/DipLocation.cs index 6e92ee74..56efb857 100644 --- a/SabreTools.Metadata.DatItems/Formats/DipLocation.cs +++ b/SabreTools.Metadata.DatItems/Formats/DipLocation.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.DipLocation; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.DipLocation; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs b/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs index c0f9e1d2..40caa877 100644 --- a/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs +++ b/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs @@ -23,7 +23,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.DipSwitch; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.DipSwitch; [JsonIgnore] public bool ConditionsSpecified diff --git a/SabreTools.Metadata.DatItems/Formats/DipValue.cs b/SabreTools.Metadata.DatItems/Formats/DipValue.cs index 6380d250..206886ad 100644 --- a/SabreTools.Metadata.DatItems/Formats/DipValue.cs +++ b/SabreTools.Metadata.DatItems/Formats/DipValue.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.DipValue; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.DipValue; [JsonIgnore] public bool ConditionsSpecified diff --git a/SabreTools.Metadata.DatItems/Formats/Disk.cs b/SabreTools.Metadata.DatItems/Formats/Disk.cs index fe9e3243..fb1398b6 100644 --- a/SabreTools.Metadata.DatItems/Formats/Disk.cs +++ b/SabreTools.Metadata.DatItems/Formats/Disk.cs @@ -29,7 +29,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Disk; + internal override ItemType ItemType => ItemType.Disk; [JsonIgnore] public bool DiskAreaSpecified diff --git a/SabreTools.Metadata.DatItems/Formats/DiskArea.cs b/SabreTools.Metadata.DatItems/Formats/DiskArea.cs index 00f13f02..4f4061bd 100644 --- a/SabreTools.Metadata.DatItems/Formats/DiskArea.cs +++ b/SabreTools.Metadata.DatItems/Formats/DiskArea.cs @@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.DiskArea; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.DiskArea; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Display.cs b/SabreTools.Metadata.DatItems/Formats/Display.cs index 8b8b836e..e7ff0b0b 100644 --- a/SabreTools.Metadata.DatItems/Formats/Display.cs +++ b/SabreTools.Metadata.DatItems/Formats/Display.cs @@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Display; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Display; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Driver.cs b/SabreTools.Metadata.DatItems/Formats/Driver.cs index 47a01f39..2fea004c 100644 --- a/SabreTools.Metadata.DatItems/Formats/Driver.cs +++ b/SabreTools.Metadata.DatItems/Formats/Driver.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Driver; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Driver; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Extension.cs b/SabreTools.Metadata.DatItems/Formats/Extension.cs index 4f2bfe5f..b11fd9e7 100644 --- a/SabreTools.Metadata.DatItems/Formats/Extension.cs +++ b/SabreTools.Metadata.DatItems/Formats/Extension.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Extension; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Extension; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Feature.cs b/SabreTools.Metadata.DatItems/Formats/Feature.cs index 34defc68..735ae025 100644 --- a/SabreTools.Metadata.DatItems/Formats/Feature.cs +++ b/SabreTools.Metadata.DatItems/Formats/Feature.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Feature; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Feature; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/File.cs b/SabreTools.Metadata.DatItems/Formats/File.cs index 33cc0ec1..fd132ebd 100644 --- a/SabreTools.Metadata.DatItems/Formats/File.cs +++ b/SabreTools.Metadata.DatItems/Formats/File.cs @@ -27,7 +27,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.File; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.File; /// /// ID value @@ -100,10 +100,7 @@ namespace SabreTools.Metadata.DatItems.Formats /// /// Create a default, empty File object /// - public File() - { - Write(Data.Models.Metadata.DatItem.TypeKey, ItemType); - } + public File() { } #endregion @@ -164,7 +161,7 @@ namespace SabreTools.Metadata.DatItems.Formats bool dupefound = false; // If we don't have a file, return false - if (ReadString(Data.Models.Metadata.DatItem.TypeKey) != other?.ReadString(Data.Models.Metadata.DatItem.TypeKey)) + if (ItemType != other?.ItemType) return dupefound; // Otherwise, treat it as a File diff --git a/SabreTools.Metadata.DatItems/Formats/Info.cs b/SabreTools.Metadata.DatItems/Formats/Info.cs index 4232db88..fe9421f2 100644 --- a/SabreTools.Metadata.DatItems/Formats/Info.cs +++ b/SabreTools.Metadata.DatItems/Formats/Info.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Info; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Info; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Input.cs b/SabreTools.Metadata.DatItems/Formats/Input.cs index a44300d0..811e5daf 100644 --- a/SabreTools.Metadata.DatItems/Formats/Input.cs +++ b/SabreTools.Metadata.DatItems/Formats/Input.cs @@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Input; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Input; [JsonIgnore] public bool ControlsSpecified diff --git a/SabreTools.Metadata.DatItems/Formats/Instance.cs b/SabreTools.Metadata.DatItems/Formats/Instance.cs index f2f7e954..3ac50eca 100644 --- a/SabreTools.Metadata.DatItems/Formats/Instance.cs +++ b/SabreTools.Metadata.DatItems/Formats/Instance.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Instance; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Instance; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Media.cs b/SabreTools.Metadata.DatItems/Formats/Media.cs index 7ab8144d..483c8a36 100644 --- a/SabreTools.Metadata.DatItems/Formats/Media.cs +++ b/SabreTools.Metadata.DatItems/Formats/Media.cs @@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Media; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Media; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Part.cs b/SabreTools.Metadata.DatItems/Formats/Part.cs index 32c2fed4..a4cae2d1 100644 --- a/SabreTools.Metadata.DatItems/Formats/Part.cs +++ b/SabreTools.Metadata.DatItems/Formats/Part.cs @@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Part; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Part; [JsonIgnore] public bool FeaturesSpecified diff --git a/SabreTools.Metadata.DatItems/Formats/PartFeature.cs b/SabreTools.Metadata.DatItems/Formats/PartFeature.cs index ae4ff5ba..fa31e20a 100644 --- a/SabreTools.Metadata.DatItems/Formats/PartFeature.cs +++ b/SabreTools.Metadata.DatItems/Formats/PartFeature.cs @@ -22,7 +22,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.PartFeature; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.PartFeature; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Port.cs b/SabreTools.Metadata.DatItems/Formats/Port.cs index 84eaf426..9a38a1be 100644 --- a/SabreTools.Metadata.DatItems/Formats/Port.cs +++ b/SabreTools.Metadata.DatItems/Formats/Port.cs @@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Port; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Port; [JsonIgnore] public bool AnalogsSpecified diff --git a/SabreTools.Metadata.DatItems/Formats/RamOption.cs b/SabreTools.Metadata.DatItems/Formats/RamOption.cs index 50e32990..d1f9cd12 100644 --- a/SabreTools.Metadata.DatItems/Formats/RamOption.cs +++ b/SabreTools.Metadata.DatItems/Formats/RamOption.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.RamOption; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.RamOption; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Release.cs b/SabreTools.Metadata.DatItems/Formats/Release.cs index 2eaf01ab..5a5637b2 100644 --- a/SabreTools.Metadata.DatItems/Formats/Release.cs +++ b/SabreTools.Metadata.DatItems/Formats/Release.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Release; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Release; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/ReleaseDetails.cs b/SabreTools.Metadata.DatItems/Formats/ReleaseDetails.cs index cd39f5ef..0beb5f56 100644 --- a/SabreTools.Metadata.DatItems/Formats/ReleaseDetails.cs +++ b/SabreTools.Metadata.DatItems/Formats/ReleaseDetails.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.ReleaseDetails; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.ReleaseDetails; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Rom.cs b/SabreTools.Metadata.DatItems/Formats/Rom.cs index f7b20fa0..1ea42c6c 100644 --- a/SabreTools.Metadata.DatItems/Formats/Rom.cs +++ b/SabreTools.Metadata.DatItems/Formats/Rom.cs @@ -29,7 +29,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Rom; + internal override ItemType ItemType => ItemType.Rom; [JsonIgnore] public bool ItemStatusSpecified @@ -118,7 +118,7 @@ namespace SabreTools.Metadata.DatItems.Formats SetName(name); Write(Data.Models.Metadata.Rom.OffsetKey, rom.ReadString(Data.Models.Metadata.Rom.StartKey)); Write(Data.Models.Metadata.Rom.OpenMSXMediaType, subType?.AsStringValue()); - Write(Data.Models.Metadata.Rom.OpenMSXType, rom.ReadString(Data.Models.Metadata.Rom.OpenMSXType) ?? rom.ReadString(Data.Models.Metadata.DatItem.TypeKey)); + Write(Data.Models.Metadata.Rom.OpenMSXType, rom.ReadString(Data.Models.Metadata.Rom.OpenMSXType) ?? rom.ItemType.ToString()); Write(Data.Models.Metadata.Rom.RemarkKey, rom.ReadString(Data.Models.Metadata.Rom.RemarkKey)); Write(Data.Models.Metadata.Rom.SHA1Key, rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)); Write(Data.Models.Metadata.Rom.StartKey, rom.ReadString(Data.Models.Metadata.Rom.StartKey)); diff --git a/SabreTools.Metadata.DatItems/Formats/Sample.cs b/SabreTools.Metadata.DatItems/Formats/Sample.cs index c1c50baa..5fbf2932 100644 --- a/SabreTools.Metadata.DatItems/Formats/Sample.cs +++ b/SabreTools.Metadata.DatItems/Formats/Sample.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Sample; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Sample; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Serials.cs b/SabreTools.Metadata.DatItems/Formats/Serials.cs index 344ced23..7fc10ae1 100644 --- a/SabreTools.Metadata.DatItems/Formats/Serials.cs +++ b/SabreTools.Metadata.DatItems/Formats/Serials.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Serials; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Serials; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/SharedFeat.cs b/SabreTools.Metadata.DatItems/Formats/SharedFeat.cs index 274cb9f7..8c812e4b 100644 --- a/SabreTools.Metadata.DatItems/Formats/SharedFeat.cs +++ b/SabreTools.Metadata.DatItems/Formats/SharedFeat.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.SharedFeat; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.SharedFeat; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Slot.cs b/SabreTools.Metadata.DatItems/Formats/Slot.cs index 8e8efced..1d17bdac 100644 --- a/SabreTools.Metadata.DatItems/Formats/Slot.cs +++ b/SabreTools.Metadata.DatItems/Formats/Slot.cs @@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Slot; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Slot; [JsonIgnore] public bool SlotOptionsSpecified diff --git a/SabreTools.Metadata.DatItems/Formats/SlotOption.cs b/SabreTools.Metadata.DatItems/Formats/SlotOption.cs index 2fa4718c..c02768a5 100644 --- a/SabreTools.Metadata.DatItems/Formats/SlotOption.cs +++ b/SabreTools.Metadata.DatItems/Formats/SlotOption.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.SlotOption; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.SlotOption; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/SoftwareList.cs b/SabreTools.Metadata.DatItems/Formats/SoftwareList.cs index ddf1ab95..ff686638 100644 --- a/SabreTools.Metadata.DatItems/Formats/SoftwareList.cs +++ b/SabreTools.Metadata.DatItems/Formats/SoftwareList.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.SoftwareList; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.SoftwareList; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Sound.cs b/SabreTools.Metadata.DatItems/Formats/Sound.cs index 27fbde3a..e9a51763 100644 --- a/SabreTools.Metadata.DatItems/Formats/Sound.cs +++ b/SabreTools.Metadata.DatItems/Formats/Sound.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.Sound; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Sound; #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/SourceDetails.cs b/SabreTools.Metadata.DatItems/Formats/SourceDetails.cs index dcf47068..baf8dc70 100644 --- a/SabreTools.Metadata.DatItems/Formats/SourceDetails.cs +++ b/SabreTools.Metadata.DatItems/Formats/SourceDetails.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatItems.Formats #region Fields /// /> - protected override ItemType ItemType => ItemType.SourceDetails; + internal override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.SourceDetails; #endregion diff --git a/SabreTools.Metadata.DatItems/SabreTools.Metadata.DatItems.csproj b/SabreTools.Metadata.DatItems/SabreTools.Metadata.DatItems.csproj index 32969615..5cc3061c 100644 --- a/SabreTools.Metadata.DatItems/SabreTools.Metadata.DatItems.csproj +++ b/SabreTools.Metadata.DatItems/SabreTools.Metadata.DatItems.csproj @@ -30,6 +30,10 @@ + + + + diff --git a/SabreTools.Serialization.CrossModel/Listrom.Serializer.cs b/SabreTools.Serialization.CrossModel/Listrom.Serializer.cs index bf02b157..c049bad1 100644 --- a/SabreTools.Serialization.CrossModel/Listrom.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/Listrom.Serializer.cs @@ -83,7 +83,6 @@ namespace SabreTools.Serialization.CrossModel { var disk = new Data.Models.Metadata.Disk { - [Data.Models.Metadata.DatItem.TypeKey] = "disk", [Data.Models.Metadata.Disk.NameKey] = item.Name, [Data.Models.Metadata.Disk.MD5Key] = item.MD5, [Data.Models.Metadata.Disk.SHA1Key] = item.SHA1, @@ -100,7 +99,6 @@ namespace SabreTools.Serialization.CrossModel { var rom = new Data.Models.Metadata.Rom { - [Data.Models.Metadata.DatItem.TypeKey] = "rom", [Data.Models.Metadata.Rom.NameKey] = item.Name, [Data.Models.Metadata.Rom.SizeKey] = item.Size, [Data.Models.Metadata.Rom.CRCKey] = item.CRC,