diff --git a/SabreTools.DatFiles/DatFile.cs b/SabreTools.DatFiles/DatFile.cs index 03981cd6..68d84814 100644 --- a/SabreTools.DatFiles/DatFile.cs +++ b/SabreTools.DatFiles/DatFile.cs @@ -511,9 +511,6 @@ namespace SabreTools.DatFiles /// Return list of required fields missing from a DatItem /// /// List of missing required fields, null or empty if none were found - /// - /// TODO: Implement this in all relevant DatFile types - /// protected virtual List GetMissingRequiredFields(DatItem datItem) => null; /// diff --git a/SabreTools.DatFiles/Formats/ArchiveDotOrg.cs b/SabreTools.DatFiles/Formats/ArchiveDotOrg.cs index bb1c5909..e035adb5 100644 --- a/SabreTools.DatFiles/Formats/ArchiveDotOrg.cs +++ b/SabreTools.DatFiles/Formats/ArchiveDotOrg.cs @@ -1,9 +1,9 @@ using System; +using System.Collections.Generic; using System.IO; using System.Text; using System.Xml; using System.Xml.Schema; - using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.DatItems; @@ -15,9 +15,6 @@ namespace SabreTools.DatFiles.Formats /// /// Represents parsing and writing of a Archive.org file list /// - /// - /// TODO: Check and enforce required fields in output - /// internal class ArchiveDotOrg : DatFile { /// @@ -268,6 +265,13 @@ namespace SabreTools.DatFiles.Formats }; } + /// + protected override List GetMissingRequiredFields(DatItem datItem) + { + // TODO: Check required fields + return null; + } + /// public override bool WriteToFile(string outfile, bool ignoreblanks = false, bool throwOnError = false) { diff --git a/SabreTools.DatFiles/Formats/AttractMode.cs b/SabreTools.DatFiles/Formats/AttractMode.cs index d9950f4b..04291079 100644 --- a/SabreTools.DatFiles/Formats/AttractMode.cs +++ b/SabreTools.DatFiles/Formats/AttractMode.cs @@ -1,7 +1,7 @@ using System; +using System.Collections.Generic; using System.IO; using System.Text; - using SabreTools.Core; using SabreTools.DatItems; using SabreTools.DatItems.Formats; @@ -14,9 +14,6 @@ namespace SabreTools.DatFiles.Formats /// /// Represents parsing and writing of an AttractMode DAT /// - /// - /// TODO: Check and enforce required fields in output - /// internal class AttractMode : DatFile { /// @@ -115,6 +112,13 @@ namespace SabreTools.DatFiles.Formats return new ItemType[] { ItemType.Rom }; } + /// + protected override List GetMissingRequiredFields(DatItem datItem) + { + // TODO: Check required fields + return null; + } + /// public override bool WriteToFile(string outfile, bool ignoreblanks = false, bool throwOnError = false) { diff --git a/SabreTools.DatFiles/Formats/ClrMamePro.cs b/SabreTools.DatFiles/Formats/ClrMamePro.cs index e1b4a487..1065f6b1 100644 --- a/SabreTools.DatFiles/Formats/ClrMamePro.cs +++ b/SabreTools.DatFiles/Formats/ClrMamePro.cs @@ -1,7 +1,7 @@ using System; +using System.Collections.Generic; using System.IO; using System.Text; - using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.DatItems; @@ -15,9 +15,6 @@ namespace SabreTools.DatFiles.Formats /// /// Represents parsing and writing of a ClrMamePro DAT /// - /// - /// TODO: Check and enforce required fields in output - /// internal class ClrMamePro : DatFile { #region Fields @@ -436,6 +433,13 @@ namespace SabreTools.DatFiles.Formats }; } + /// + protected override List GetMissingRequiredFields(DatItem datItem) + { + // TODO: Check required fields + return null; + } + /// public override bool WriteToFile(string outfile, bool ignoreblanks = false, bool throwOnError = false) { diff --git a/SabreTools.DatFiles/Formats/DosCenter.cs b/SabreTools.DatFiles/Formats/DosCenter.cs index 1c4ca196..00fc461e 100644 --- a/SabreTools.DatFiles/Formats/DosCenter.cs +++ b/SabreTools.DatFiles/Formats/DosCenter.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; - using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.DatItems; @@ -17,9 +16,6 @@ namespace SabreTools.DatFiles.Formats /// /// Represents parsing and writing of a DosCenter DAT /// - /// - /// TODO: Check and enforce required fields in output - /// internal class DosCenter : DatFile { /// @@ -262,6 +258,13 @@ namespace SabreTools.DatFiles.Formats return new ItemType[] { ItemType.Rom }; } + /// + protected override List GetMissingRequiredFields(DatItem datItem) + { + // TODO: Check required fields + return null; + } + /// public override bool WriteToFile(string outfile, bool ignoreblanks = false, bool throwOnError = false) { diff --git a/SabreTools.DatFiles/Formats/EverdriveSmdb.cs b/SabreTools.DatFiles/Formats/EverdriveSmdb.cs index 37479259..8949653e 100644 --- a/SabreTools.DatFiles/Formats/EverdriveSmdb.cs +++ b/SabreTools.DatFiles/Formats/EverdriveSmdb.cs @@ -1,7 +1,7 @@ using System; +using System.Collections.Generic; using System.IO; using System.Text; - using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.DatItems; @@ -15,9 +15,6 @@ namespace SabreTools.DatFiles.Formats /// /// Represents parsing and writing of an Everdrive SMDB file /// - /// - /// TODO: Check and enforce required fields in output - /// internal class EverdriveSMDB : DatFile { /// @@ -112,6 +109,13 @@ namespace SabreTools.DatFiles.Formats return new ItemType[] { ItemType.Rom }; } + /// + protected override List GetMissingRequiredFields(DatItem datItem) + { + // TODO: Check required fields + return null; + } + /// public override bool WriteToFile(string outfile, bool ignoreblanks = false, bool throwOnError = false) { diff --git a/SabreTools.DatFiles/Formats/Listrom.cs b/SabreTools.DatFiles/Formats/Listrom.cs index 6dde8af5..13675d66 100644 --- a/SabreTools.DatFiles/Formats/Listrom.cs +++ b/SabreTools.DatFiles/Formats/Listrom.cs @@ -1,8 +1,8 @@ using System; +using System.Collections.Generic; using System.IO; using System.Text; using System.Text.RegularExpressions; - using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.DatItems; @@ -14,9 +14,6 @@ namespace SabreTools.DatFiles.Formats /// /// Represents parsing and writing of a MAME Listrom DAT /// - /// - /// TODO: Check and enforce required fields in output - /// internal class Listrom : DatFile { /// @@ -261,6 +258,13 @@ namespace SabreTools.DatFiles.Formats return new ItemType[] { ItemType.Disk, ItemType.Rom }; } + /// + protected override List GetMissingRequiredFields(DatItem datItem) + { + // TODO: Check required fields + return null; + } + /// public override bool WriteToFile(string outfile, bool ignoreblanks = false, bool throwOnError = false) { diff --git a/SabreTools.DatFiles/Formats/Listxml.cs b/SabreTools.DatFiles/Formats/Listxml.cs index 611b5956..f2827434 100644 --- a/SabreTools.DatFiles/Formats/Listxml.cs +++ b/SabreTools.DatFiles/Formats/Listxml.cs @@ -5,7 +5,6 @@ using System.Linq; using System.Text; using System.Xml; using System.Xml.Schema; - using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.DatItems; @@ -1349,6 +1348,13 @@ namespace SabreTools.DatFiles.Formats }; } + /// + protected override List GetMissingRequiredFields(DatItem datItem) + { + // TODO: Check required fields + return null; + } + /// public override bool WriteToFile(string outfile, bool ignoreblanks = false, bool throwOnError = false) { diff --git a/SabreTools.DatFiles/Formats/Logiqx.cs b/SabreTools.DatFiles/Formats/Logiqx.cs index c77a06eb..62c61837 100644 --- a/SabreTools.DatFiles/Formats/Logiqx.cs +++ b/SabreTools.DatFiles/Formats/Logiqx.cs @@ -6,7 +6,6 @@ using System.Text; using System.Text.RegularExpressions; using System.Xml; using System.Xml.Schema; - using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.DatItems; @@ -18,9 +17,6 @@ namespace SabreTools.DatFiles.Formats /// /// Represents parsing and writing of a Logiqx-derived DAT /// - /// - /// TODO: Check and enforce required fields in output - /// internal class Logiqx : DatFile { // Private instance variables specific to Logiqx DATs @@ -776,6 +772,13 @@ namespace SabreTools.DatFiles.Formats }; } + /// + protected override List GetMissingRequiredFields(DatItem datItem) + { + // TODO: Check required fields + return null; + } + /// public override bool WriteToFile(string outfile, bool ignoreblanks = false, bool throwOnError = false) { diff --git a/SabreTools.DatFiles/Formats/Missfile.cs b/SabreTools.DatFiles/Formats/Missfile.cs index aede8c8b..56029481 100644 --- a/SabreTools.DatFiles/Formats/Missfile.cs +++ b/SabreTools.DatFiles/Formats/Missfile.cs @@ -1,7 +1,7 @@ using System; +using System.Collections.Generic; using System.IO; using System.Text; - using SabreTools.Core; using SabreTools.DatItems; @@ -10,9 +10,6 @@ namespace SabreTools.DatFiles.Formats /// /// Represents parsing and writing of a Missfile /// - /// - /// TODO: Check and enforce required fields in output - /// internal class Missfile : DatFile { /// @@ -31,6 +28,13 @@ namespace SabreTools.DatFiles.Formats throw new NotImplementedException(); } + /// + protected override List GetMissingRequiredFields(DatItem datItem) + { + // TODO: Check required fields + return null; + } + /// public override bool WriteToFile(string outfile, bool ignoreblanks = false, bool throwOnError = false) { diff --git a/SabreTools.DatFiles/Formats/OfflineList.cs b/SabreTools.DatFiles/Formats/OfflineList.cs index 1173e201..6958d6aa 100644 --- a/SabreTools.DatFiles/Formats/OfflineList.cs +++ b/SabreTools.DatFiles/Formats/OfflineList.cs @@ -4,7 +4,6 @@ using System.IO; using System.Text; using System.Xml; using System.Xml.Schema; - using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.DatItems; @@ -16,9 +15,6 @@ namespace SabreTools.DatFiles.Formats /// /// Represents parsing and writing of an OfflineList XML DAT /// - /// - /// TODO: Check and enforce required fields in output - /// internal class OfflineList : DatFile { /// @@ -665,6 +661,13 @@ namespace SabreTools.DatFiles.Formats return new ItemType[] { ItemType.Rom }; } + /// + protected override List GetMissingRequiredFields(DatItem datItem) + { + // TODO: Check required fields + return null; + } + /// public override bool WriteToFile(string outfile, bool ignoreblanks = false, bool throwOnError = false) { diff --git a/SabreTools.DatFiles/Formats/OpenMSX.cs b/SabreTools.DatFiles/Formats/OpenMSX.cs index cc89427a..9016f3f8 100644 --- a/SabreTools.DatFiles/Formats/OpenMSX.cs +++ b/SabreTools.DatFiles/Formats/OpenMSX.cs @@ -4,7 +4,6 @@ using System.IO; using System.Text; using System.Xml; using System.Xml.Schema; - using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.DatItems; @@ -16,9 +15,6 @@ namespace SabreTools.DatFiles.Formats /// /// Represents parsing and writing of a openMSX softawre list XML DAT /// - /// - /// TODO: Check and enforce required fields in output - /// internal class OpenMSX : DatFile { /// @@ -538,6 +534,13 @@ namespace SabreTools.DatFiles.Formats return new ItemType[] { ItemType.Rom }; } + /// + protected override List GetMissingRequiredFields(DatItem datItem) + { + // TODO: Check required fields + return null; + } + /// public override bool WriteToFile(string outfile, bool ignoreblanks = false, bool throwOnError = false) { diff --git a/SabreTools.DatFiles/Formats/RomCenter.cs b/SabreTools.DatFiles/Formats/RomCenter.cs index f27b3ce7..9b69873f 100644 --- a/SabreTools.DatFiles/Formats/RomCenter.cs +++ b/SabreTools.DatFiles/Formats/RomCenter.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Text; - using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.DatItems; @@ -15,9 +14,6 @@ namespace SabreTools.DatFiles.Formats /// /// Represents parsing and writing of a RomCenter DAT /// - /// - /// TODO: Check and enforce required fields in output - /// internal class RomCenter : DatFile { /// @@ -367,6 +363,13 @@ namespace SabreTools.DatFiles.Formats return new ItemType[] { ItemType.Rom }; } + /// + protected override List GetMissingRequiredFields(DatItem datItem) + { + // TODO: Check required fields + return null; + } + /// public override bool WriteToFile(string outfile, bool ignoreblanks = false, bool throwOnError = false) { diff --git a/SabreTools.DatFiles/Formats/SabreJSON.cs b/SabreTools.DatFiles/Formats/SabreJSON.cs index 9ed7a8c1..ca6b7b6a 100644 --- a/SabreTools.DatFiles/Formats/SabreJSON.cs +++ b/SabreTools.DatFiles/Formats/SabreJSON.cs @@ -3,14 +3,13 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; - +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using Newtonsoft.Json.Serialization; using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.DatItems; using SabreTools.DatItems.Formats; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using Newtonsoft.Json.Serialization; namespace SabreTools.DatFiles.Formats { diff --git a/SabreTools.DatFiles/Formats/SabreXML.cs b/SabreTools.DatFiles/Formats/SabreXML.cs index c1ec5d70..625aecf0 100644 --- a/SabreTools.DatFiles/Formats/SabreXML.cs +++ b/SabreTools.DatFiles/Formats/SabreXML.cs @@ -4,7 +4,6 @@ using System.Text; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization; - using SabreTools.Core; using SabreTools.DatItems; diff --git a/SabreTools.DatFiles/Formats/SeparatedValue.cs b/SabreTools.DatFiles/Formats/SeparatedValue.cs index 23124615..be8dc4c0 100644 --- a/SabreTools.DatFiles/Formats/SeparatedValue.cs +++ b/SabreTools.DatFiles/Formats/SeparatedValue.cs @@ -1,7 +1,7 @@ using System; +using System.Collections.Generic; using System.IO; using System.Text; - using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.DatItems; @@ -15,9 +15,6 @@ namespace SabreTools.DatFiles.Formats /// /// Represents parsing and writing of a value-separated DAT /// - /// - /// TODO: Check and enforce required fields in output - /// internal class SeparatedValue : DatFile { // Private instance variables specific to Separated Value DATs @@ -98,6 +95,13 @@ namespace SabreTools.DatFiles.Formats return new ItemType[] { ItemType.Disk, ItemType.Media, ItemType.Rom }; } + /// + protected override List GetMissingRequiredFields(DatItem datItem) + { + // TODO: Check required fields + return null; + } + /// public override bool WriteToFile(string outfile, bool ignoreblanks = false, bool throwOnError = false) { diff --git a/SabreTools.DatFiles/Formats/SoftwareList.cs b/SabreTools.DatFiles/Formats/SoftwareList.cs index dd4dc465..864d36d8 100644 --- a/SabreTools.DatFiles/Formats/SoftwareList.cs +++ b/SabreTools.DatFiles/Formats/SoftwareList.cs @@ -5,7 +5,6 @@ using System.Linq; using System.Text; using System.Xml; using System.Xml.Schema; - using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.DatItems; @@ -26,6 +25,9 @@ namespace SabreTools.DatFiles.Formats /// /// DTD for original MAME Software List DATs /// + /// + /// TODO: See if there's an updated DTD and then check for required fields + /// private const string SoftwareListDTD = @" @@ -585,6 +587,13 @@ namespace SabreTools.DatFiles.Formats }; } + /// + protected override List GetMissingRequiredFields(DatItem datItem) + { + // TODO: Check required fields + return null; + } + /// public override bool WriteToFile(string outfile, bool ignoreblanks = false, bool throwOnError = false) {