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,