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)
{