From caf5fae5ada436cfd7700e86c80b9bfa4282a45f Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Wed, 9 Dec 2020 22:11:35 -0800 Subject: [PATCH] DatFile types into their own folder and namespace --- SabreTools.Core/Tools/Converters.cs | 22 ------------ SabreTools.DatFiles/DatFile.Rebuilding.cs | 36 +++++++++++++++++-- SabreTools.DatFiles/DatFile.cs | 1 + SabreTools.DatFiles/DatHeader.cs | 1 + .../{ => Formats}/AttractMode.cs | 2 +- .../{ => Formats}/Auxiliary.cs | 2 +- .../{ => Formats}/ClrMamePro.cs | 2 +- .../{ => Formats}/DosCenter.cs | 2 +- .../{ => Formats}/EverdriveSmdb.cs | 2 +- SabreTools.DatFiles/{ => Formats}/Hashfile.cs | 2 +- SabreTools.DatFiles/{ => Formats}/Listrom.cs | 2 +- SabreTools.DatFiles/{ => Formats}/Listxml.cs | 2 +- SabreTools.DatFiles/{ => Formats}/Logiqx.cs | 2 +- SabreTools.DatFiles/{ => Formats}/Missfile.cs | 2 +- .../{ => Formats}/OfflineList.cs | 2 +- SabreTools.DatFiles/{ => Formats}/OpenMSX.cs | 2 +- .../{ => Formats}/RomCenter.cs | 2 +- .../{ => Formats}/SabreJSON.cs | 2 +- SabreTools.DatFiles/{ => Formats}/SabreXML.cs | 2 +- .../{ => Formats}/SeparatedValue.cs | 2 +- .../{ => Formats}/SoftwareList.cs | 2 +- 21 files changed, 53 insertions(+), 41 deletions(-) rename SabreTools.DatFiles/{ => Formats}/AttractMode.cs (99%) rename SabreTools.DatFiles/{ => Formats}/Auxiliary.cs (92%) rename SabreTools.DatFiles/{ => Formats}/ClrMamePro.cs (99%) rename SabreTools.DatFiles/{ => Formats}/DosCenter.cs (99%) rename SabreTools.DatFiles/{ => Formats}/EverdriveSmdb.cs (99%) rename SabreTools.DatFiles/{ => Formats}/Hashfile.cs (99%) rename SabreTools.DatFiles/{ => Formats}/Listrom.cs (99%) rename SabreTools.DatFiles/{ => Formats}/Listxml.cs (99%) rename SabreTools.DatFiles/{ => Formats}/Logiqx.cs (99%) rename SabreTools.DatFiles/{ => Formats}/Missfile.cs (99%) rename SabreTools.DatFiles/{ => Formats}/OfflineList.cs (99%) rename SabreTools.DatFiles/{ => Formats}/OpenMSX.cs (99%) rename SabreTools.DatFiles/{ => Formats}/RomCenter.cs (99%) rename SabreTools.DatFiles/{ => Formats}/SabreJSON.cs (99%) rename SabreTools.DatFiles/{ => Formats}/SabreXML.cs (99%) rename SabreTools.DatFiles/{ => Formats}/SeparatedValue.cs (99%) rename SabreTools.DatFiles/{ => Formats}/SoftwareList.cs (99%) diff --git a/SabreTools.Core/Tools/Converters.cs b/SabreTools.Core/Tools/Converters.cs index c5dc93ef..e69e85c8 100644 --- a/SabreTools.Core/Tools/Converters.cs +++ b/SabreTools.Core/Tools/Converters.cs @@ -67,28 +67,6 @@ namespace SabreTools.Core.Tools return fields; } - /// - /// Get the default OutputFormat associated with each PackingFlag - /// - /// - /// - public static OutputFormat AsOutputFormat(this PackingFlag packing) - { - switch (packing) - { - case PackingFlag.Zip: - return OutputFormat.TorrentZip; - case PackingFlag.Unzip: - case PackingFlag.Partial: - return OutputFormat.Folder; - case PackingFlag.Flat: - return OutputFormat.ParentFolder; - case PackingFlag.None: - default: - return OutputFormat.Folder; - } - } - #endregion #region String to Enum diff --git a/SabreTools.DatFiles/DatFile.Rebuilding.cs b/SabreTools.DatFiles/DatFile.Rebuilding.cs index ea27d6dc..3c6e1301 100644 --- a/SabreTools.DatFiles/DatFile.Rebuilding.cs +++ b/SabreTools.DatFiles/DatFile.Rebuilding.cs @@ -48,7 +48,7 @@ namespace SabreTools.DatFiles // Now we want to get forcepack flag if it's not overridden if (outputFormat == OutputFormat.Folder && Header.ForcePacking != PackingFlag.None) - outputFormat = Header.ForcePacking.AsOutputFormat(); + outputFormat = GetOutputFormat(Header.ForcePacking); // Preload the Skipper list SkipperMatch.Init(); @@ -188,7 +188,7 @@ namespace SabreTools.DatFiles // Now we want to get forcepack flag if it's not overridden if (outputFormat == OutputFormat.Folder && Header.ForcePacking != PackingFlag.None) - outputFormat = Header.ForcePacking.AsOutputFormat(); + outputFormat = GetOutputFormat(Header.ForcePacking); // Preload the Skipper list SkipperMatch.Init(); @@ -630,6 +630,38 @@ namespace SabreTools.DatFiles return true; } + /// + /// Get the default OutputFormat associated with each PackingFlag + /// + public OutputFormat GetOutputFormat(PackingFlag packing) + { +#if NET_FRAMEWORK + switch (packing) + { + case PackingFlag.Zip: + return OutputFormat.TorrentZip; + case PackingFlag.Unzip: + case PackingFlag.Partial: + return OutputFormat.Folder; + case PackingFlag.Flat: + return OutputFormat.ParentFolder; + case PackingFlag.None: + default: + return OutputFormat.Folder; + } +#else + return packing switch + { + PackingFlag.Zip => OutputFormat.TorrentZip, + PackingFlag.Unzip => OutputFormat.Folder, + PackingFlag.Partial => OutputFormat.Folder, + PackingFlag.Flat => OutputFormat.ParentFolder, + PackingFlag.None => OutputFormat.Folder, + _ => OutputFormat.Folder, + }; +#endif + } + /// /// Get preconfigured Folder for rebuilding /// diff --git a/SabreTools.DatFiles/DatFile.cs b/SabreTools.DatFiles/DatFile.cs index daf958cf..cd4f29ca 100644 --- a/SabreTools.DatFiles/DatFile.cs +++ b/SabreTools.DatFiles/DatFile.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Xml.Serialization; using SabreTools.Core; +using SabreTools.DatFiles.Formats; using SabreTools.Logging; using Newtonsoft.Json; diff --git a/SabreTools.DatFiles/DatHeader.cs b/SabreTools.DatFiles/DatHeader.cs index 63a50c08..1f7b377e 100644 --- a/SabreTools.DatFiles/DatHeader.cs +++ b/SabreTools.DatFiles/DatHeader.cs @@ -6,6 +6,7 @@ using System.Xml.Serialization; using SabreTools.Core; using SabreTools.Core.Tools; +using SabreTools.DatFiles.Formats; using SabreTools.IO; using Newtonsoft.Json; diff --git a/SabreTools.DatFiles/AttractMode.cs b/SabreTools.DatFiles/Formats/AttractMode.cs similarity index 99% rename from SabreTools.DatFiles/AttractMode.cs rename to SabreTools.DatFiles/Formats/AttractMode.cs index ac57a552..13ee8cfd 100644 --- a/SabreTools.DatFiles/AttractMode.cs +++ b/SabreTools.DatFiles/Formats/AttractMode.cs @@ -7,7 +7,7 @@ using SabreTools.Core; using SabreTools.DatItems; using SabreTools.IO; -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of an AttractMode DAT diff --git a/SabreTools.DatFiles/Auxiliary.cs b/SabreTools.DatFiles/Formats/Auxiliary.cs similarity index 92% rename from SabreTools.DatFiles/Auxiliary.cs rename to SabreTools.DatFiles/Formats/Auxiliary.cs index 9f2cf06b..8071b42d 100644 --- a/SabreTools.DatFiles/Auxiliary.cs +++ b/SabreTools.DatFiles/Formats/Auxiliary.cs @@ -1,7 +1,7 @@ /// /// This holds all of the auxiliary types needed for proper parsing /// -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { #region DatHeader diff --git a/SabreTools.DatFiles/ClrMamePro.cs b/SabreTools.DatFiles/Formats/ClrMamePro.cs similarity index 99% rename from SabreTools.DatFiles/ClrMamePro.cs rename to SabreTools.DatFiles/Formats/ClrMamePro.cs index 5f18ae2c..903ae476 100644 --- a/SabreTools.DatFiles/ClrMamePro.cs +++ b/SabreTools.DatFiles/Formats/ClrMamePro.cs @@ -8,7 +8,7 @@ using SabreTools.Core.Tools; using SabreTools.DatItems; using SabreTools.IO; -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of a ClrMamePro DAT diff --git a/SabreTools.DatFiles/DosCenter.cs b/SabreTools.DatFiles/Formats/DosCenter.cs similarity index 99% rename from SabreTools.DatFiles/DosCenter.cs rename to SabreTools.DatFiles/Formats/DosCenter.cs index bfa18118..868517dc 100644 --- a/SabreTools.DatFiles/DosCenter.cs +++ b/SabreTools.DatFiles/Formats/DosCenter.cs @@ -9,7 +9,7 @@ using SabreTools.Core.Tools; using SabreTools.DatItems; using SabreTools.IO; -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of a DosCenter DAT diff --git a/SabreTools.DatFiles/EverdriveSmdb.cs b/SabreTools.DatFiles/Formats/EverdriveSmdb.cs similarity index 99% rename from SabreTools.DatFiles/EverdriveSmdb.cs rename to SabreTools.DatFiles/Formats/EverdriveSmdb.cs index 0c34357b..d4dda99c 100644 --- a/SabreTools.DatFiles/EverdriveSmdb.cs +++ b/SabreTools.DatFiles/Formats/EverdriveSmdb.cs @@ -7,7 +7,7 @@ using SabreTools.Core; using SabreTools.DatItems; using SabreTools.IO; -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of an Everdrive SMDB file diff --git a/SabreTools.DatFiles/Hashfile.cs b/SabreTools.DatFiles/Formats/Hashfile.cs similarity index 99% rename from SabreTools.DatFiles/Hashfile.cs rename to SabreTools.DatFiles/Formats/Hashfile.cs index a99790a6..82f2bf85 100644 --- a/SabreTools.DatFiles/Hashfile.cs +++ b/SabreTools.DatFiles/Formats/Hashfile.cs @@ -7,7 +7,7 @@ using SabreTools.Core; using SabreTools.DatItems; using SabreTools.IO; -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of a hashfile such as an SFV, MD5, or SHA-1 file diff --git a/SabreTools.DatFiles/Listrom.cs b/SabreTools.DatFiles/Formats/Listrom.cs similarity index 99% rename from SabreTools.DatFiles/Listrom.cs rename to SabreTools.DatFiles/Formats/Listrom.cs index 702b2e5f..28c7ca2e 100644 --- a/SabreTools.DatFiles/Listrom.cs +++ b/SabreTools.DatFiles/Formats/Listrom.cs @@ -9,7 +9,7 @@ using SabreTools.Core.Tools; using SabreTools.DatItems; using SabreTools.IO; -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of a MAME Listrom DAT diff --git a/SabreTools.DatFiles/Listxml.cs b/SabreTools.DatFiles/Formats/Listxml.cs similarity index 99% rename from SabreTools.DatFiles/Listxml.cs rename to SabreTools.DatFiles/Formats/Listxml.cs index 3e86f431..a3d4b2a5 100644 --- a/SabreTools.DatFiles/Listxml.cs +++ b/SabreTools.DatFiles/Formats/Listxml.cs @@ -11,7 +11,7 @@ using SabreTools.Core.Tools; using SabreTools.DatItems; using SabreTools.IO; -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of a MAME XML DAT diff --git a/SabreTools.DatFiles/Logiqx.cs b/SabreTools.DatFiles/Formats/Logiqx.cs similarity index 99% rename from SabreTools.DatFiles/Logiqx.cs rename to SabreTools.DatFiles/Formats/Logiqx.cs index 196248d9..b062b73e 100644 --- a/SabreTools.DatFiles/Logiqx.cs +++ b/SabreTools.DatFiles/Formats/Logiqx.cs @@ -12,7 +12,7 @@ using SabreTools.Core.Tools; using SabreTools.DatItems; using SabreTools.IO; -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of a Logiqx-derived DAT diff --git a/SabreTools.DatFiles/Missfile.cs b/SabreTools.DatFiles/Formats/Missfile.cs similarity index 99% rename from SabreTools.DatFiles/Missfile.cs rename to SabreTools.DatFiles/Formats/Missfile.cs index 515c3813..fa376a6d 100644 --- a/SabreTools.DatFiles/Missfile.cs +++ b/SabreTools.DatFiles/Formats/Missfile.cs @@ -5,7 +5,7 @@ using System.Text; using SabreTools.DatItems; -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of a Missfile diff --git a/SabreTools.DatFiles/OfflineList.cs b/SabreTools.DatFiles/Formats/OfflineList.cs similarity index 99% rename from SabreTools.DatFiles/OfflineList.cs rename to SabreTools.DatFiles/Formats/OfflineList.cs index ce2a4791..88ecc141 100644 --- a/SabreTools.DatFiles/OfflineList.cs +++ b/SabreTools.DatFiles/Formats/OfflineList.cs @@ -10,7 +10,7 @@ using SabreTools.Core.Tools; using SabreTools.DatItems; using SabreTools.IO; -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of an OfflineList XML DAT diff --git a/SabreTools.DatFiles/OpenMSX.cs b/SabreTools.DatFiles/Formats/OpenMSX.cs similarity index 99% rename from SabreTools.DatFiles/OpenMSX.cs rename to SabreTools.DatFiles/Formats/OpenMSX.cs index a1a83473..384f82a2 100644 --- a/SabreTools.DatFiles/OpenMSX.cs +++ b/SabreTools.DatFiles/Formats/OpenMSX.cs @@ -10,7 +10,7 @@ using SabreTools.Core.Tools; using SabreTools.DatItems; using SabreTools.IO; -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of a openMSX softawre list XML DAT diff --git a/SabreTools.DatFiles/RomCenter.cs b/SabreTools.DatFiles/Formats/RomCenter.cs similarity index 99% rename from SabreTools.DatFiles/RomCenter.cs rename to SabreTools.DatFiles/Formats/RomCenter.cs index 3b6a96a3..d295a852 100644 --- a/SabreTools.DatFiles/RomCenter.cs +++ b/SabreTools.DatFiles/Formats/RomCenter.cs @@ -8,7 +8,7 @@ using SabreTools.Core.Tools; using SabreTools.DatItems; using SabreTools.IO; -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of a RomCenter DAT diff --git a/SabreTools.DatFiles/SabreJSON.cs b/SabreTools.DatFiles/Formats/SabreJSON.cs similarity index 99% rename from SabreTools.DatFiles/SabreJSON.cs rename to SabreTools.DatFiles/Formats/SabreJSON.cs index 43ef459e..a731c34e 100644 --- a/SabreTools.DatFiles/SabreJSON.cs +++ b/SabreTools.DatFiles/Formats/SabreJSON.cs @@ -11,7 +11,7 @@ using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Newtonsoft.Json.Serialization; -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of a reference SabreDAT JSON diff --git a/SabreTools.DatFiles/SabreXML.cs b/SabreTools.DatFiles/Formats/SabreXML.cs similarity index 99% rename from SabreTools.DatFiles/SabreXML.cs rename to SabreTools.DatFiles/Formats/SabreXML.cs index 8aa4a026..bd668750 100644 --- a/SabreTools.DatFiles/SabreXML.cs +++ b/SabreTools.DatFiles/Formats/SabreXML.cs @@ -8,7 +8,7 @@ using System.Xml.Serialization; using SabreTools.DatItems; -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of a SabreDAT XML diff --git a/SabreTools.DatFiles/SeparatedValue.cs b/SabreTools.DatFiles/Formats/SeparatedValue.cs similarity index 99% rename from SabreTools.DatFiles/SeparatedValue.cs rename to SabreTools.DatFiles/Formats/SeparatedValue.cs index 2eaf22a3..e5571513 100644 --- a/SabreTools.DatFiles/SeparatedValue.cs +++ b/SabreTools.DatFiles/Formats/SeparatedValue.cs @@ -8,7 +8,7 @@ using SabreTools.Core.Tools; using SabreTools.DatItems; using SabreTools.IO; -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of a value-separated DAT diff --git a/SabreTools.DatFiles/SoftwareList.cs b/SabreTools.DatFiles/Formats/SoftwareList.cs similarity index 99% rename from SabreTools.DatFiles/SoftwareList.cs rename to SabreTools.DatFiles/Formats/SoftwareList.cs index 63c220e0..08960865 100644 --- a/SabreTools.DatFiles/SoftwareList.cs +++ b/SabreTools.DatFiles/Formats/SoftwareList.cs @@ -12,7 +12,7 @@ using SabreTools.DatItems; using SabreTools.IO; // TODO: Use softwarelist.dtd and *try* to make this write more correctly -namespace SabreTools.DatFiles +namespace SabreTools.DatFiles.Formats { /// /// Represents parsing and writing of a SoftwareList