diff --git a/SabreTools.Serialization/Deserializers/AACS.cs b/SabreTools.Serialization/Deserializers/AACS.cs index 7173b7e8..06aff2eb 100644 --- a/SabreTools.Serialization/Deserializers/AACS.cs +++ b/SabreTools.Serialization/Deserializers/AACS.cs @@ -4,18 +4,13 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.AACS; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class AACS : - BaseBinaryDeserializer, - IStreamDeserializer + public class AACS : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public MediaKeyBlock? Deserialize(Stream? data) + public override MediaKeyBlock? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -443,7 +438,5 @@ namespace SabreTools.Serialization.Deserializers return record; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/ArchiveDotOrg.cs b/SabreTools.Serialization/Deserializers/ArchiveDotOrg.cs index 8fb3a960..fddb3784 100644 --- a/SabreTools.Serialization/Deserializers/ArchiveDotOrg.cs +++ b/SabreTools.Serialization/Deserializers/ArchiveDotOrg.cs @@ -1,7 +1,6 @@ namespace SabreTools.Serialization.Deserializers { - public class ArchiveDotOrg : - XmlFile + public class ArchiveDotOrg : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Deserializers/AttractMode.cs b/SabreTools.Serialization/Deserializers/AttractMode.cs index ccfc54da..dda66bf6 100644 --- a/SabreTools.Serialization/Deserializers/AttractMode.cs +++ b/SabreTools.Serialization/Deserializers/AttractMode.cs @@ -4,13 +4,10 @@ using System.Linq; using System.Text; using SabreTools.IO.Readers; using SabreTools.Models.AttractMode; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class AttractMode : - BaseBinaryDeserializer, - IStreamDeserializer + public class AttractMode : BaseBinaryDeserializer { #region Constants @@ -23,7 +20,7 @@ namespace SabreTools.Serialization.Deserializers #region IStreamDeserializer /// - public MetadataFile? Deserialize(Stream? data) + public override MetadataFile? Deserialize(Stream? data) { // If the stream is null if (data == null) diff --git a/SabreTools.Serialization/Deserializers/BDPlus.cs b/SabreTools.Serialization/Deserializers/BDPlus.cs index 22ad3486..1d4f7ce3 100644 --- a/SabreTools.Serialization/Deserializers/BDPlus.cs +++ b/SabreTools.Serialization/Deserializers/BDPlus.cs @@ -2,19 +2,14 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.BDPlus; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.BDPlus.Constants; namespace SabreTools.Serialization.Deserializers { - public class BDPlus : - BaseBinaryDeserializer, - IStreamDeserializer + public class BDPlus : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public SVM? Deserialize(Stream? data) + public override SVM? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -66,7 +61,5 @@ namespace SabreTools.Serialization.Deserializers return svm; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/BFPK.cs b/SabreTools.Serialization/Deserializers/BFPK.cs index 947b4980..080a48aa 100644 --- a/SabreTools.Serialization/Deserializers/BFPK.cs +++ b/SabreTools.Serialization/Deserializers/BFPK.cs @@ -2,19 +2,14 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.BFPK; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.BFPK.Constants; namespace SabreTools.Serialization.Deserializers { - public class BFPK : - BaseBinaryDeserializer, - IStreamDeserializer + public class BFPK : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Archive? Deserialize(Stream? data) + public override Archive? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -122,7 +117,5 @@ namespace SabreTools.Serialization.Deserializers return fileEntry; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/BSP.cs b/SabreTools.Serialization/Deserializers/BSP.cs index 7752c023..e69acd66 100644 --- a/SabreTools.Serialization/Deserializers/BSP.cs +++ b/SabreTools.Serialization/Deserializers/BSP.cs @@ -3,19 +3,14 @@ using System.Linq; using System.Text; using SabreTools.IO; using SabreTools.Models.BSP; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.BSP.Constants; namespace SabreTools.Serialization.Deserializers { - public class BSP : - BaseBinaryDeserializer, - IStreamDeserializer + public class BSP : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Models.BSP.File? Deserialize(Stream? data) + public override Models.BSP.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -221,7 +216,5 @@ namespace SabreTools.Serialization.Deserializers return texture; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/BaseBinaryDeserializer.cs b/SabreTools.Serialization/Deserializers/BaseBinaryDeserializer.cs index 2fe8858a..2d658462 100644 --- a/SabreTools.Serialization/Deserializers/BaseBinaryDeserializer.cs +++ b/SabreTools.Serialization/Deserializers/BaseBinaryDeserializer.cs @@ -14,7 +14,8 @@ namespace SabreTools.Serialization.Deserializers /// These methods assume there is a concrete implementation of the deserialzier for the model available public abstract class BaseBinaryDeserializer : IByteDeserializer, - IFileDeserializer + IFileDeserializer, + IStreamDeserializer { #region IByteDeserializer @@ -47,6 +48,13 @@ namespace SabreTools.Serialization.Deserializers #endregion + #region IStreamDeserializer + + /// + public abstract TModel? Deserialize(Stream? data); + + #endregion + #region Static Implementations /// diff --git a/SabreTools.Serialization/Deserializers/CFB.cs b/SabreTools.Serialization/Deserializers/CFB.cs index fd30e34c..9abbff25 100644 --- a/SabreTools.Serialization/Deserializers/CFB.cs +++ b/SabreTools.Serialization/Deserializers/CFB.cs @@ -4,19 +4,14 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.CFB; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.CFB.Constants; namespace SabreTools.Serialization.Deserializers { - public class CFB : - BaseBinaryDeserializer, - IStreamDeserializer + public class CFB : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Binary? Deserialize(Stream? data) + public override Binary? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -365,7 +360,5 @@ namespace SabreTools.Serialization.Deserializers return directoryEntry; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/CIA.cs b/SabreTools.Serialization/Deserializers/CIA.cs index 9b7b8c52..5d4277da 100644 --- a/SabreTools.Serialization/Deserializers/CIA.cs +++ b/SabreTools.Serialization/Deserializers/CIA.cs @@ -3,18 +3,13 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.N3DS; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class CIA : - BaseBinaryDeserializer, - IStreamDeserializer + public class CIA : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Models.N3DS.CIA? Deserialize(Stream? data) + public override Models.N3DS.CIA? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -504,7 +499,5 @@ namespace SabreTools.Serialization.Deserializers return metaData; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/Catalog.cs b/SabreTools.Serialization/Deserializers/Catalog.cs index e6e5d028..750f5df9 100644 --- a/SabreTools.Serialization/Deserializers/Catalog.cs +++ b/SabreTools.Serialization/Deserializers/Catalog.cs @@ -3,8 +3,7 @@ using System.Text; namespace SabreTools.Serialization.Deserializers { - public class Catalog : - JsonFile + public class Catalog : JsonFile { #region IByteDeserializer diff --git a/SabreTools.Serialization/Deserializers/ClrMamePro.cs b/SabreTools.Serialization/Deserializers/ClrMamePro.cs index c6f433a4..b5fd1755 100644 --- a/SabreTools.Serialization/Deserializers/ClrMamePro.cs +++ b/SabreTools.Serialization/Deserializers/ClrMamePro.cs @@ -4,13 +4,10 @@ using System.IO; using System.Text; using SabreTools.IO.Readers; using SabreTools.Models.ClrMamePro; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class ClrMamePro : - BaseBinaryDeserializer, - IStreamDeserializer + public class ClrMamePro : BaseBinaryDeserializer { #region IByteDeserializer @@ -75,7 +72,7 @@ namespace SabreTools.Serialization.Deserializers } /// - public MetadataFile? Deserialize(Stream? data) + public override MetadataFile? Deserialize(Stream? data) => Deserialize(data, true); /// diff --git a/SabreTools.Serialization/Deserializers/CueSheet.cs b/SabreTools.Serialization/Deserializers/CueSheet.cs index b887562b..935b9138 100644 --- a/SabreTools.Serialization/Deserializers/CueSheet.cs +++ b/SabreTools.Serialization/Deserializers/CueSheet.cs @@ -5,18 +5,13 @@ using System.Linq; using System.Text.RegularExpressions; using SabreTools.IO; using SabreTools.Models.CueSheets; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class CueSheet : - BaseBinaryDeserializer, - IStreamDeserializer + public class CueSheet : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Models.CueSheets.CueSheet? Deserialize(Stream? data) + public override Models.CueSheets.CueSheet? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -594,7 +589,5 @@ namespace SabreTools.Serialization.Deserializers } #endregion - - #endregion } } diff --git a/SabreTools.Serialization/Deserializers/DosCenter.cs b/SabreTools.Serialization/Deserializers/DosCenter.cs index 975011ab..25eac1d2 100644 --- a/SabreTools.Serialization/Deserializers/DosCenter.cs +++ b/SabreTools.Serialization/Deserializers/DosCenter.cs @@ -3,18 +3,13 @@ using System.IO; using System.Text; using SabreTools.IO.Readers; using SabreTools.Models.DosCenter; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class DosCenter : - BaseBinaryDeserializer, - IStreamDeserializer + public class DosCenter : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public MetadataFile? Deserialize(Stream? data) + public override MetadataFile? Deserialize(Stream? data) { // If the stream is null if (data == null) @@ -215,7 +210,5 @@ namespace SabreTools.Serialization.Deserializers file.ADDITIONAL_ELEMENTS = itemAdditional.ToArray(); return file; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs b/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs index 2c94b8aa..3e12c8a7 100644 --- a/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs +++ b/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs @@ -4,18 +4,13 @@ using System.Linq; using System.Text; using SabreTools.IO.Readers; using SabreTools.Models.EverdriveSMDB; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class EverdriveSMDB : - BaseBinaryDeserializer, - IStreamDeserializer + public class EverdriveSMDB : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public MetadataFile? Deserialize(Stream? data) + public override MetadataFile? Deserialize(Stream? data) { // If the stream is null if (data == null) @@ -63,7 +58,5 @@ namespace SabreTools.Serialization.Deserializers dat.Row = rows.ToArray(); return dat; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/GCF.cs b/SabreTools.Serialization/Deserializers/GCF.cs index a9b6eac3..1239bd6b 100644 --- a/SabreTools.Serialization/Deserializers/GCF.cs +++ b/SabreTools.Serialization/Deserializers/GCF.cs @@ -3,18 +3,13 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.GCF; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class GCF : - BaseBinaryDeserializer, - IStreamDeserializer + public class GCF : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Models.GCF.File? Deserialize(Stream? data) + public override Models.GCF.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -744,7 +739,5 @@ namespace SabreTools.Serialization.Deserializers return dataBlockHeader; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/Hashfile.cs b/SabreTools.Serialization/Deserializers/Hashfile.cs index 2a70c9cb..8f839c4c 100644 --- a/SabreTools.Serialization/Deserializers/Hashfile.cs +++ b/SabreTools.Serialization/Deserializers/Hashfile.cs @@ -4,14 +4,11 @@ using System.IO; using System.Linq; using SabreTools.Hashing; using SabreTools.Models.Hashfile; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class Hashfile : - BaseBinaryDeserializer, - IFileDeserializer, - IStreamDeserializer + // TODO: Create variants for the implemented types + public class Hashfile : BaseBinaryDeserializer { #region IByteDeserializer @@ -76,7 +73,7 @@ namespace SabreTools.Serialization.Deserializers } /// - public Models.Hashfile.Hashfile? Deserialize(Stream? data) + public override Models.Hashfile.Hashfile? Deserialize(Stream? data) => Deserialize(data, HashType.CRC32); /// diff --git a/SabreTools.Serialization/Deserializers/IRD.cs b/SabreTools.Serialization/Deserializers/IRD.cs index 3b4dbee8..18b225f6 100644 --- a/SabreTools.Serialization/Deserializers/IRD.cs +++ b/SabreTools.Serialization/Deserializers/IRD.cs @@ -1,18 +1,13 @@ using System.IO; using System.Text; using SabreTools.IO; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class IRD : - BaseBinaryDeserializer, - IStreamDeserializer + public class IRD : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Models.IRD.File? Deserialize(Stream? data) + public override Models.IRD.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -114,7 +109,5 @@ namespace SabreTools.Serialization.Deserializers return ird; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/InstallShieldCabinet.cs b/SabreTools.Serialization/Deserializers/InstallShieldCabinet.cs index 79f9cab9..a0edb333 100644 --- a/SabreTools.Serialization/Deserializers/InstallShieldCabinet.cs +++ b/SabreTools.Serialization/Deserializers/InstallShieldCabinet.cs @@ -3,20 +3,15 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.InstallShieldCabinet; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.InstallShieldCabinet.Constants; namespace SabreTools.Serialization.Deserializers { // TODO: Add multi-cabinet reading - public class InstallShieldCabinet : - BaseBinaryDeserializer, - IStreamDeserializer + public class InstallShieldCabinet : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Cabinet? Deserialize(Stream? data) + public override Cabinet? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -780,7 +775,5 @@ namespace SabreTools.Serialization.Deserializers } #endregion - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/JsonFile.cs b/SabreTools.Serialization/Deserializers/JsonFile.cs index 24a04fe7..c88efd96 100644 --- a/SabreTools.Serialization/Deserializers/JsonFile.cs +++ b/SabreTools.Serialization/Deserializers/JsonFile.cs @@ -1,7 +1,6 @@ using System.IO; using System.Text; using Newtonsoft.Json; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { @@ -9,9 +8,7 @@ namespace SabreTools.Serialization.Deserializers /// Base class for other JSON serializers /// /// - public class JsonFile : - BaseBinaryDeserializer, - IStreamDeserializer + public class JsonFile : BaseBinaryDeserializer { #region IByteDeserializer @@ -68,7 +65,7 @@ namespace SabreTools.Serialization.Deserializers #region IStreamDeserializer /// - public virtual T? Deserialize(Stream? data) + public override T? Deserialize(Stream? data) => Deserialize(data, new UTF8Encoding(false)); /// diff --git a/SabreTools.Serialization/Deserializers/LinearExecutable.cs b/SabreTools.Serialization/Deserializers/LinearExecutable.cs index 13945e67..5ebb74a8 100644 --- a/SabreTools.Serialization/Deserializers/LinearExecutable.cs +++ b/SabreTools.Serialization/Deserializers/LinearExecutable.cs @@ -3,19 +3,14 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.LinearExecutable; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.LinearExecutable.Constants; namespace SabreTools.Serialization.Deserializers { - public class LinearExecutable : - BaseBinaryDeserializer, - IStreamDeserializer + public class LinearExecutable : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Executable? Deserialize(Stream? data) + public override Executable? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -1006,7 +1001,5 @@ namespace SabreTools.Serialization.Deserializers return debugInformation; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/Listrom.cs b/SabreTools.Serialization/Deserializers/Listrom.cs index d5c784cd..52c0b72d 100644 --- a/SabreTools.Serialization/Deserializers/Listrom.cs +++ b/SabreTools.Serialization/Deserializers/Listrom.cs @@ -3,18 +3,13 @@ using System.Collections.Generic; using System.IO; using System.Text; using SabreTools.Models.Listrom; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class Listrom : - BaseBinaryDeserializer, - IStreamDeserializer + public class Listrom : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public MetadataFile? Deserialize(Stream? data) + public override MetadataFile? Deserialize(Stream? data) { // If the stream is null if (data == null) @@ -242,7 +237,5 @@ namespace SabreTools.Serialization.Deserializers dat.ADDITIONAL_ELEMENTS = additional.ToArray(); return dat; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/Listxml.cs b/SabreTools.Serialization/Deserializers/Listxml.cs index 92c4b148..cb984858 100644 --- a/SabreTools.Serialization/Deserializers/Listxml.cs +++ b/SabreTools.Serialization/Deserializers/Listxml.cs @@ -1,7 +1,6 @@ namespace SabreTools.Serialization.Deserializers { - public class Listxml : - XmlFile + public class Listxml : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Deserializers/Logiqx.cs b/SabreTools.Serialization/Deserializers/Logiqx.cs index 86844be8..aee13e85 100644 --- a/SabreTools.Serialization/Deserializers/Logiqx.cs +++ b/SabreTools.Serialization/Deserializers/Logiqx.cs @@ -1,7 +1,6 @@ namespace SabreTools.Serialization.Deserializers { - public class Logiqx : - XmlFile + public class Logiqx : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Deserializers/M1.cs b/SabreTools.Serialization/Deserializers/M1.cs index 0f033b0e..7cb5440d 100644 --- a/SabreTools.Serialization/Deserializers/M1.cs +++ b/SabreTools.Serialization/Deserializers/M1.cs @@ -1,7 +1,6 @@ namespace SabreTools.Serialization.Deserializers { - public class M1 : - XmlFile + public class M1 : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Deserializers/MSDOS.cs b/SabreTools.Serialization/Deserializers/MSDOS.cs index 6a5c13f3..b0f3374e 100644 --- a/SabreTools.Serialization/Deserializers/MSDOS.cs +++ b/SabreTools.Serialization/Deserializers/MSDOS.cs @@ -2,19 +2,14 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.MSDOS; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.MSDOS.Constants; namespace SabreTools.Serialization.Deserializers { - public class MSDOS : - BaseBinaryDeserializer, - IStreamDeserializer + public class MSDOS : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Executable? Deserialize(Stream? data) + public override Executable? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -146,7 +141,5 @@ namespace SabreTools.Serialization.Deserializers return relocationTable; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs b/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs index e823d564..e35b5647 100644 --- a/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs +++ b/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs @@ -2,20 +2,15 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.MicrosoftCabinet; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.MicrosoftCabinet.Constants; namespace SabreTools.Serialization.Deserializers { // TODO: Add multi-cabinet reading - public class MicrosoftCabinet : - BaseBinaryDeserializer, - IStreamDeserializer + public class MicrosoftCabinet : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Cabinet? Deserialize(Stream? data) + public override Cabinet? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -245,7 +240,5 @@ namespace SabreTools.Serialization.Deserializers return file; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/MoPaQ.cs b/SabreTools.Serialization/Deserializers/MoPaQ.cs index 103012f6..0d947829 100644 --- a/SabreTools.Serialization/Deserializers/MoPaQ.cs +++ b/SabreTools.Serialization/Deserializers/MoPaQ.cs @@ -4,19 +4,14 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.MoPaQ; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.MoPaQ.Constants; namespace SabreTools.Serialization.Deserializers { - public class MoPaQ : - BaseBinaryDeserializer, - IStreamDeserializer + public class MoPaQ : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Archive? Deserialize(Stream? data) + public override Archive? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -632,7 +627,5 @@ namespace SabreTools.Serialization.Deserializers } #endregion - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/N3DS.cs b/SabreTools.Serialization/Deserializers/N3DS.cs index ef538882..a64a553d 100644 --- a/SabreTools.Serialization/Deserializers/N3DS.cs +++ b/SabreTools.Serialization/Deserializers/N3DS.cs @@ -3,19 +3,14 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.N3DS; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.N3DS.Constants; namespace SabreTools.Serialization.Deserializers { - public class N3DS : - BaseBinaryDeserializer, - IStreamDeserializer + public class N3DS : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Cart? Deserialize(Stream? data) + public override Cart? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -712,7 +707,5 @@ namespace SabreTools.Serialization.Deserializers return romFSHeader; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/NCF.cs b/SabreTools.Serialization/Deserializers/NCF.cs index c1362951..e3c7d629 100644 --- a/SabreTools.Serialization/Deserializers/NCF.cs +++ b/SabreTools.Serialization/Deserializers/NCF.cs @@ -3,18 +3,13 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.NCF; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class NCF : - BaseBinaryDeserializer, - IStreamDeserializer + public class NCF : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Models.NCF.File? Deserialize(Stream? data) + public override Models.NCF.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -513,7 +508,5 @@ namespace SabreTools.Serialization.Deserializers return checksumEntry; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/NewExecutable.cs b/SabreTools.Serialization/Deserializers/NewExecutable.cs index fbc9859b..ac8810b4 100644 --- a/SabreTools.Serialization/Deserializers/NewExecutable.cs +++ b/SabreTools.Serialization/Deserializers/NewExecutable.cs @@ -4,19 +4,14 @@ using System.Linq; using System.Text; using SabreTools.IO; using SabreTools.Models.NewExecutable; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.NewExecutable.Constants; namespace SabreTools.Serialization.Deserializers { - public class NewExecutable : - BaseBinaryDeserializer, - IStreamDeserializer + public class NewExecutable : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Executable? Deserialize(Stream? data) + public override Executable? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -481,7 +476,5 @@ namespace SabreTools.Serialization.Deserializers return [.. residentNameTable]; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/Nitro.cs b/SabreTools.Serialization/Deserializers/Nitro.cs index d98e00da..e09ade2c 100644 --- a/SabreTools.Serialization/Deserializers/Nitro.cs +++ b/SabreTools.Serialization/Deserializers/Nitro.cs @@ -3,18 +3,13 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.Nitro; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class Nitro : - BaseBinaryDeserializer, - IStreamDeserializer + public class Nitro : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Cart? Deserialize(Stream? data) + public override Cart? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -364,7 +359,5 @@ namespace SabreTools.Serialization.Deserializers return entry; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/OfflineList.cs b/SabreTools.Serialization/Deserializers/OfflineList.cs index 7d96b2df..bcd208ad 100644 --- a/SabreTools.Serialization/Deserializers/OfflineList.cs +++ b/SabreTools.Serialization/Deserializers/OfflineList.cs @@ -1,7 +1,6 @@ namespace SabreTools.Serialization.Deserializers { - public class OfflineList : - XmlFile + public class OfflineList : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Deserializers/OpenMSX.cs b/SabreTools.Serialization/Deserializers/OpenMSX.cs index b95c37f7..2b84c0b7 100644 --- a/SabreTools.Serialization/Deserializers/OpenMSX.cs +++ b/SabreTools.Serialization/Deserializers/OpenMSX.cs @@ -1,7 +1,6 @@ namespace SabreTools.Serialization.Deserializers { - public class OpenMSX : - XmlFile + public class OpenMSX : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Deserializers/PAK.cs b/SabreTools.Serialization/Deserializers/PAK.cs index 3248e374..c5ceb2d5 100644 --- a/SabreTools.Serialization/Deserializers/PAK.cs +++ b/SabreTools.Serialization/Deserializers/PAK.cs @@ -2,19 +2,14 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.PAK; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.PAK.Constants; namespace SabreTools.Serialization.Deserializers { - public class PAK : - BaseBinaryDeserializer, - IStreamDeserializer + public class PAK : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Models.PAK.File? Deserialize(Stream? data) + public override Models.PAK.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -109,7 +104,5 @@ namespace SabreTools.Serialization.Deserializers return directoryItem; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/PFF.cs b/SabreTools.Serialization/Deserializers/PFF.cs index b1718b24..52ca2f3a 100644 --- a/SabreTools.Serialization/Deserializers/PFF.cs +++ b/SabreTools.Serialization/Deserializers/PFF.cs @@ -2,19 +2,14 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.PFF; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.PFF.Constants; namespace SabreTools.Serialization.Deserializers { - public class PFF : - BaseBinaryDeserializer, - IStreamDeserializer + public class PFF : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Archive? Deserialize(Stream? data) + public override Archive? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -184,7 +179,5 @@ namespace SabreTools.Serialization.Deserializers return segment; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/PIC.cs b/SabreTools.Serialization/Deserializers/PIC.cs index 1cdd562d..2fa5e6ac 100644 --- a/SabreTools.Serialization/Deserializers/PIC.cs +++ b/SabreTools.Serialization/Deserializers/PIC.cs @@ -3,19 +3,16 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.PIC; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.PIC.Constants; namespace SabreTools.Serialization.Deserializers { - public class PIC : - BaseBinaryDeserializer, - IStreamDeserializer + public class PIC : BaseBinaryDeserializer { #region IStreamDeserializer /// - public DiscInformation? Deserialize(Stream? data) + public override DiscInformation? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) diff --git a/SabreTools.Serialization/Deserializers/PlayJAudio.cs b/SabreTools.Serialization/Deserializers/PlayJAudio.cs index dad9dfff..bd08254d 100644 --- a/SabreTools.Serialization/Deserializers/PlayJAudio.cs +++ b/SabreTools.Serialization/Deserializers/PlayJAudio.cs @@ -2,17 +2,12 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.PlayJ; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.PlayJ.Constants; namespace SabreTools.Serialization.Deserializers { - public class PlayJAudio : - BaseBinaryDeserializer, - IStreamDeserializer + public class PlayJAudio : BaseBinaryDeserializer { - #region IStreamDeserializer - /// public static AudioFile? DeserializeStream(Stream? data, long adjust = 0) { @@ -21,7 +16,7 @@ namespace SabreTools.Serialization.Deserializers } /// - public AudioFile? Deserialize(Stream? data) + public override AudioFile? Deserialize(Stream? data) => Deserialize(data, 0); /// @@ -351,7 +346,5 @@ namespace SabreTools.Serialization.Deserializers return dataFile; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/PlayJPlaylist.cs b/SabreTools.Serialization/Deserializers/PlayJPlaylist.cs index 69017fce..c5cbfce0 100644 --- a/SabreTools.Serialization/Deserializers/PlayJPlaylist.cs +++ b/SabreTools.Serialization/Deserializers/PlayJPlaylist.cs @@ -1,18 +1,13 @@ using System.IO; using SabreTools.IO; using SabreTools.Models.PlayJ; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class PlayJPlaylist : - BaseBinaryDeserializer, - IStreamDeserializer + public class PlayJPlaylist : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Playlist? Deserialize(Stream? data) + public override Playlist? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -76,7 +71,5 @@ namespace SabreTools.Serialization.Deserializers return playlistHeader; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/PortableExecutable.cs b/SabreTools.Serialization/Deserializers/PortableExecutable.cs index aa24b10b..c335b3c0 100644 --- a/SabreTools.Serialization/Deserializers/PortableExecutable.cs +++ b/SabreTools.Serialization/Deserializers/PortableExecutable.cs @@ -5,19 +5,14 @@ using System.Linq; using System.Text; using SabreTools.IO; using SabreTools.Models.PortableExecutable; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.PortableExecutable.Constants; namespace SabreTools.Serialization.Deserializers { - public class PortableExecutable : - BaseBinaryDeserializer, - IStreamDeserializer + public class PortableExecutable : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Executable? Deserialize(Stream? data) + public override Executable? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -1334,7 +1329,5 @@ namespace SabreTools.Serialization.Deserializers return resourceDirectoryTable; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/Quantum.cs b/SabreTools.Serialization/Deserializers/Quantum.cs index 56850f7f..01544353 100644 --- a/SabreTools.Serialization/Deserializers/Quantum.cs +++ b/SabreTools.Serialization/Deserializers/Quantum.cs @@ -2,19 +2,14 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.Quantum; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.Quantum.Constants; namespace SabreTools.Serialization.Deserializers { - public class Quantum : - BaseBinaryDeserializer, - IStreamDeserializer + public class Quantum : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Archive? Deserialize(Stream? data) + public override Archive? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -157,7 +152,5 @@ namespace SabreTools.Serialization.Deserializers byte b1 = data.ReadByteValue(); return (b0 << 8) | b1; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/RomCenter.cs b/SabreTools.Serialization/Deserializers/RomCenter.cs index 78ed674c..af187d37 100644 --- a/SabreTools.Serialization/Deserializers/RomCenter.cs +++ b/SabreTools.Serialization/Deserializers/RomCenter.cs @@ -4,18 +4,13 @@ using System.Linq; using System.Text; using SabreTools.IO.Readers; using SabreTools.Models.RomCenter; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class RomCenter : - BaseBinaryDeserializer, - IStreamDeserializer + public class RomCenter : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public MetadataFile? Deserialize(Stream? data) + public override MetadataFile? Deserialize(Stream? data) { // If the stream is null if (data == null) @@ -214,7 +209,5 @@ namespace SabreTools.Serialization.Deserializers } return dat; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/SGA.cs b/SabreTools.Serialization/Deserializers/SGA.cs index 45965e28..a2ac6abb 100644 --- a/SabreTools.Serialization/Deserializers/SGA.cs +++ b/SabreTools.Serialization/Deserializers/SGA.cs @@ -3,19 +3,14 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.SGA; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.SGA.Constants; namespace SabreTools.Serialization.Deserializers { - public class SGA : - BaseBinaryDeserializer, - IStreamDeserializer + public class SGA : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Models.SGA.File? Deserialize(Stream? data) + public override Models.SGA.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -729,7 +724,5 @@ namespace SabreTools.Serialization.Deserializers return file7; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/SeparatedValue.cs b/SabreTools.Serialization/Deserializers/SeparatedValue.cs index fc5bd747..af710bc3 100644 --- a/SabreTools.Serialization/Deserializers/SeparatedValue.cs +++ b/SabreTools.Serialization/Deserializers/SeparatedValue.cs @@ -4,13 +4,11 @@ using System.Linq; using System.Text; using SabreTools.IO.Readers; using SabreTools.Models.SeparatedValue; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public class SeparatedValue : - BaseBinaryDeserializer, - IStreamDeserializer + // TODO: Create variants for the 3 common types: CSV, SSV, TSV + public class SeparatedValue : BaseBinaryDeserializer { #region Constants @@ -83,7 +81,7 @@ namespace SabreTools.Serialization.Deserializers } /// - public MetadataFile? Deserialize(Stream? data) + public override MetadataFile? Deserialize(Stream? data) => Deserialize(data, ','); /// diff --git a/SabreTools.Serialization/Deserializers/SoftwareList.cs b/SabreTools.Serialization/Deserializers/SoftwareList.cs index ee951734..94589e2b 100644 --- a/SabreTools.Serialization/Deserializers/SoftwareList.cs +++ b/SabreTools.Serialization/Deserializers/SoftwareList.cs @@ -1,7 +1,6 @@ namespace SabreTools.Serialization.Deserializers { - public class SoftwareList : - XmlFile + public class SoftwareList : XmlFile { // All logic taken care of in the base class } diff --git a/SabreTools.Serialization/Deserializers/VBSP.cs b/SabreTools.Serialization/Deserializers/VBSP.cs index e58522e6..951f10f7 100644 --- a/SabreTools.Serialization/Deserializers/VBSP.cs +++ b/SabreTools.Serialization/Deserializers/VBSP.cs @@ -2,19 +2,14 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.VBSP; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.VBSP.Constants; namespace SabreTools.Serialization.Deserializers { - public class VBSP : - BaseBinaryDeserializer, - IStreamDeserializer + public class VBSP : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Models.VBSP.File? Deserialize(Stream? data) + public override Models.VBSP.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -112,7 +107,5 @@ namespace SabreTools.Serialization.Deserializers return lump; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/VPK.cs b/SabreTools.Serialization/Deserializers/VPK.cs index 762b2efe..f9b2a1d9 100644 --- a/SabreTools.Serialization/Deserializers/VPK.cs +++ b/SabreTools.Serialization/Deserializers/VPK.cs @@ -3,19 +3,14 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.VPK; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.VPK.Constants; namespace SabreTools.Serialization.Deserializers { - public class VPK : - BaseBinaryDeserializer, - IStreamDeserializer + public class VPK : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Models.VPK.File? Deserialize(Stream? data) + public override Models.VPK.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -286,7 +281,5 @@ namespace SabreTools.Serialization.Deserializers return directoryEntry; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/WAD.cs b/SabreTools.Serialization/Deserializers/WAD.cs index 4d9b2d20..67110852 100644 --- a/SabreTools.Serialization/Deserializers/WAD.cs +++ b/SabreTools.Serialization/Deserializers/WAD.cs @@ -2,19 +2,14 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.WAD; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.WAD.Constants; namespace SabreTools.Serialization.Deserializers { - public class WAD : - BaseBinaryDeserializer, - IStreamDeserializer + public class WAD : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Models.WAD.File? Deserialize(Stream? data) + public override Models.WAD.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -245,7 +240,5 @@ namespace SabreTools.Serialization.Deserializers return lumpInfo; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/XZP.cs b/SabreTools.Serialization/Deserializers/XZP.cs index eb9028ff..668d7f0b 100644 --- a/SabreTools.Serialization/Deserializers/XZP.cs +++ b/SabreTools.Serialization/Deserializers/XZP.cs @@ -2,19 +2,14 @@ using System.IO; using System.Text; using SabreTools.IO; using SabreTools.Models.XZP; -using SabreTools.Serialization.Interfaces; using static SabreTools.Models.XZP.Constants; namespace SabreTools.Serialization.Deserializers { - public class XZP : - BaseBinaryDeserializer, - IStreamDeserializer + public class XZP : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public Models.XZP.File? Deserialize(Stream? data) + public override Models.XZP.File? Deserialize(Stream? data) { // If the data is invalid if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead) @@ -248,7 +243,5 @@ namespace SabreTools.Serialization.Deserializers return footer; } - - #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/XmlFile.cs b/SabreTools.Serialization/Deserializers/XmlFile.cs index 6344664a..26aa56e3 100644 --- a/SabreTools.Serialization/Deserializers/XmlFile.cs +++ b/SabreTools.Serialization/Deserializers/XmlFile.cs @@ -2,7 +2,6 @@ using System.IO; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization; -using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { @@ -10,14 +9,10 @@ namespace SabreTools.Serialization.Deserializers /// Base class for other XML deserializers /// /// - public class XmlFile : - BaseBinaryDeserializer, - IStreamDeserializer + public class XmlFile : BaseBinaryDeserializer { - #region IStreamDeserializer - /// - public T? Deserialize(Stream? data) + public override T? Deserialize(Stream? data) { // If the stream is null if (data == null) @@ -40,7 +35,5 @@ namespace SabreTools.Serialization.Deserializers // Perform the deserialization and return return (T?)serializer.Deserialize(xmlReader); } - - #endregion } } \ No newline at end of file diff --git a/Test/Program.cs b/Test/Program.cs index 1adf58d9..5fc79b2c 100644 --- a/Test/Program.cs +++ b/Test/Program.cs @@ -1,5 +1,4 @@ using SabreTools.Serialization; -using SabreTools.Serialization.Deserializers; namespace Test { @@ -7,8 +6,6 @@ namespace Test { public static void Main(string[] args) { - string path = "R:\\BurnOutSharp Testing Files\\FileType\\AACS Media Key Block\\1 (HD-DVD)\\MKBROM.AACS"; - var obj = AACS.DeserializeFile(path); // DO NOTHING FOR NOW } }