From a3f3384ac96df3ad31598ef1756cc78199c2166a Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Wed, 3 Apr 2024 17:27:08 -0400 Subject: [PATCH] Move file deserializers to new organization --- README.MD | 1 + .../Deserializers/AACS.cs | 28 +++++++++++++++++-- .../Deserializers/ArchiveDotOrg.cs | 16 +++++++++++ .../AttractMode.cs} | 10 +++++-- .../Deserializers/BDPlus.cs | 28 +++++++++++++++++-- .../Deserializers/BFPK.cs | 28 +++++++++++++++++-- SabreTools.Serialization/Deserializers/BSP.cs | 28 +++++++++++++++++-- SabreTools.Serialization/Deserializers/CFB.cs | 28 +++++++++++++++++-- SabreTools.Serialization/Deserializers/CIA.cs | 28 +++++++++++++++++-- .../Catalog.cs} | 10 +++++-- .../ClrMamePro.cs} | 10 +++++-- .../CueSheet.cs} | 10 +++++-- .../DosCenter.cs} | 10 +++++-- .../EverdriveSMDB.cs} | 10 +++++-- SabreTools.Serialization/Deserializers/GCF.cs | 28 +++++++++++++++++-- .../Hashfile.cs} | 10 +++++-- SabreTools.Serialization/Deserializers/IRD.cs | 28 +++++++++++++++++-- .../Deserializers/InstallShieldCabinet.cs | 28 +++++++++++++++++-- .../JsonFile.cs} | 8 ++++-- .../Deserializers/LinearExecutable.cs | 28 +++++++++++++++++-- .../Listrom.cs} | 10 +++++-- .../Deserializers/Listxml.cs | 16 +++++++++++ .../Deserializers/Logiqx.cs | 16 +++++++++++ SabreTools.Serialization/Deserializers/M1.cs | 16 +++++++++++ .../Deserializers/MSDOS.cs | 28 +++++++++++++++++-- .../Deserializers/MicrosoftCabinet.cs | 28 +++++++++++++++++-- .../Deserializers/MoPaQ.cs | 28 +++++++++++++++++-- .../Deserializers/N3DS.cs | 28 +++++++++++++++++-- SabreTools.Serialization/Deserializers/NCF.cs | 28 +++++++++++++++++-- .../Deserializers/NewExecutable.cs | 28 +++++++++++++++++-- .../Deserializers/Nitro.cs | 28 +++++++++++++++++-- .../Deserializers/OfflineList.cs | 16 +++++++++++ .../Deserializers/OpenMSX.cs | 16 +++++++++++ SabreTools.Serialization/Deserializers/PAK.cs | 28 +++++++++++++++++-- SabreTools.Serialization/Deserializers/PFF.cs | 28 +++++++++++++++++-- .../PIC.cs} | 10 +++++-- .../Deserializers/PlayJAudio.cs | 28 +++++++++++++++++-- .../Deserializers/PlayJPlaylist.cs | 28 +++++++++++++++++-- .../Deserializers/PortableExecutable.cs | 28 +++++++++++++++++-- .../Deserializers/Quantum.cs | 28 +++++++++++++++++-- .../RomCenter.cs} | 10 +++++-- SabreTools.Serialization/Deserializers/SGA.cs | 28 +++++++++++++++++-- .../SeparatedValue.cs} | 10 +++++-- .../Deserializers/SoftwareList.cs | 16 +++++++++++ .../Deserializers/VBSP.cs | 28 +++++++++++++++++-- SabreTools.Serialization/Deserializers/VPK.cs | 28 +++++++++++++++++-- SabreTools.Serialization/Deserializers/WAD.cs | 28 +++++++++++++++++-- SabreTools.Serialization/Deserializers/XZP.cs | 28 +++++++++++++++++-- .../XmlFile.cs} | 10 +++++-- .../Files/AACS.Deserializer.cs | 21 -------------- .../Files/ArchiveDotOrg.Deserializer.cs | 12 -------- .../Files/BDPlus.Deserializer.cs | 21 -------------- .../Files/BFPK.Deserializer.cs | 21 -------------- .../Files/BSP.Deserializer.cs | 21 -------------- .../Files/CFB.Deserializer.cs | 21 -------------- .../Files/CIA.Deserializer.cs | 21 -------------- .../Files/GCF.Deserializer.cs | 21 -------------- .../Files/IRD.Deserializer.cs | 21 -------------- .../InstallShieldCabinet.Deserializer.cs | 21 -------------- .../Files/LinearExecutable.Deserializer.cs | 21 -------------- .../Files/Listxml.Deserializer.cs | 12 -------- .../Files/Logiqx.Deserializer.cs | 12 -------- .../Files/M1.Deserializer.cs | 12 -------- .../Files/MSDOS.Deserializer.cs | 21 -------------- .../Files/MicrosoftCabinet.Deserializer.cs | 21 -------------- .../Files/MoPaQ.Deserializer.cs | 21 -------------- .../Files/N3DS.Deserializer.cs | 21 -------------- .../Files/NCF.Deserializer.cs | 21 -------------- .../Files/NewExecutable.Deserializer.cs | 21 -------------- .../Files/Nitro.Deserializer.cs | 21 -------------- .../Files/OfflineList.Deserializer.cs | 12 -------- .../Files/OpenMSX.Deserializer.cs | 12 -------- .../Files/PAK.Deserializer.cs | 21 -------------- .../Files/PFF.Deserializer.cs | 21 -------------- .../Files/PlayJAudio.Deserializer.cs | 21 -------------- .../Files/PlayJPlaylist.Deserializer.cs | 21 -------------- .../Files/PortableExecutable.Deserializer.cs | 21 -------------- .../Files/Quantum.Deserializer.cs | 21 -------------- .../Files/SGA.Deserializer.cs | 21 -------------- .../Files/SoftwareList.Deserializer.cs | 12 -------- .../Files/VBSP.Deserializer.cs | 21 -------------- .../Files/VPK.Deserializer.cs | 21 -------------- .../Files/WAD.Deserializer.cs | 21 -------------- .../Files/XZP.Deserializer.cs | 21 -------------- .../Interfaces/IFileDeserializer.cs | 16 +++++++++++ .../Interfaces/IFileSerializer.cs | 10 +------ .../Interfaces/IStreamDeserializer.cs | 16 +++++++++++ .../Interfaces/IStreamSerializer.cs | 2 +- 88 files changed, 965 insertions(+), 776 deletions(-) create mode 100644 SabreTools.Serialization/Deserializers/ArchiveDotOrg.cs rename SabreTools.Serialization/{Files/AttractMode.Deserializer.cs => Deserializers/AttractMode.cs} (66%) rename SabreTools.Serialization/{Files/Catalog.Deserializer.cs => Deserializers/Catalog.cs} (63%) rename SabreTools.Serialization/{Files/ClrMamePro.Deserializer.cs => Deserializers/ClrMamePro.cs} (73%) rename SabreTools.Serialization/{Files/CueSheet.Deserializer.cs => Deserializers/CueSheet.cs} (66%) rename SabreTools.Serialization/{Files/DosCenter.Deserializer.cs => Deserializers/DosCenter.cs} (66%) rename SabreTools.Serialization/{Files/EverdriveSMDB.Deserializer.cs => Deserializers/EverdriveSMDB.cs} (66%) rename SabreTools.Serialization/{Files/Hashfile.Deserializer.cs => Deserializers/Hashfile.cs} (72%) rename SabreTools.Serialization/{Files/JsonFile.Deserializer.cs => Deserializers/JsonFile.cs} (85%) rename SabreTools.Serialization/{Files/Listrom.Deserializer.cs => Deserializers/Listrom.cs} (66%) create mode 100644 SabreTools.Serialization/Deserializers/Listxml.cs create mode 100644 SabreTools.Serialization/Deserializers/Logiqx.cs create mode 100644 SabreTools.Serialization/Deserializers/M1.cs create mode 100644 SabreTools.Serialization/Deserializers/OfflineList.cs create mode 100644 SabreTools.Serialization/Deserializers/OpenMSX.cs rename SabreTools.Serialization/{Files/PIC.Deserializer.cs => Deserializers/PIC.cs} (66%) rename SabreTools.Serialization/{Files/RomCenter.Deserializer.cs => Deserializers/RomCenter.cs} (66%) rename SabreTools.Serialization/{Files/SeparatedValue.Deserializer.cs => Deserializers/SeparatedValue.cs} (73%) create mode 100644 SabreTools.Serialization/Deserializers/SoftwareList.cs rename SabreTools.Serialization/{Files/XmlFile.Deserializer.cs => Deserializers/XmlFile.cs} (63%) delete mode 100644 SabreTools.Serialization/Files/AACS.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/ArchiveDotOrg.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/BDPlus.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/BFPK.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/BSP.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/CFB.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/CIA.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/GCF.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/IRD.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/InstallShieldCabinet.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/LinearExecutable.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/Listxml.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/Logiqx.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/M1.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/MSDOS.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/MicrosoftCabinet.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/MoPaQ.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/N3DS.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/NCF.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/NewExecutable.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/Nitro.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/OfflineList.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/OpenMSX.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/PAK.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/PFF.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/PlayJAudio.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/PlayJPlaylist.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/PortableExecutable.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/Quantum.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/SGA.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/SoftwareList.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/VBSP.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/VPK.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/WAD.Deserializer.cs delete mode 100644 SabreTools.Serialization/Files/XZP.Deserializer.cs create mode 100644 SabreTools.Serialization/Interfaces/IFileDeserializer.cs create mode 100644 SabreTools.Serialization/Interfaces/IStreamDeserializer.cs diff --git a/README.MD b/README.MD index a207ff0d..cabdcea4 100644 --- a/README.MD +++ b/README.MD @@ -7,6 +7,7 @@ Find the link to the Nuget package [here](https://www.nuget.org/packages/SabreTo | Interface Name | Source Type | Destination Type | | --- | --- | --- | | `IByteDeserializer` | `byte[]` | Model | +| `IFileDeserializer` | `string?` Path | Model | ## `SabreTools.Serialization.CrossModel` diff --git a/SabreTools.Serialization/Deserializers/AACS.cs b/SabreTools.Serialization/Deserializers/AACS.cs index 326afc36..ccf9c069 100644 --- a/SabreTools.Serialization/Deserializers/AACS.cs +++ b/SabreTools.Serialization/Deserializers/AACS.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class AACS : IByteDeserializer + public class AACS : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.AACS.MediaKeyBlock? DeserializeBytes(byte[]? data, int offset) { var deserializer = new AACS(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.AACS.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.AACS.MediaKeyBlock? DeserializeFile(string? path) + { + var deserializer = new AACS(); + return deserializer.Deserialize(path); + } + + /// + public Models.AACS.MediaKeyBlock? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.AACS.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/ArchiveDotOrg.cs b/SabreTools.Serialization/Deserializers/ArchiveDotOrg.cs new file mode 100644 index 00000000..6d07b33c --- /dev/null +++ b/SabreTools.Serialization/Deserializers/ArchiveDotOrg.cs @@ -0,0 +1,16 @@ +namespace SabreTools.Serialization.Deserializers +{ + public class ArchiveDotOrg : XmlFile + { + #region IFileDeserializer + + /// + public static Models.ArchiveDotOrg.Files? DeserializeFile(string? path) + { + var deserializer = new ArchiveDotOrg(); + return deserializer.Deserialize(path); + } + + #endregion + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/AttractMode.Deserializer.cs b/SabreTools.Serialization/Deserializers/AttractMode.cs similarity index 66% rename from SabreTools.Serialization/Files/AttractMode.Deserializer.cs rename to SabreTools.Serialization/Deserializers/AttractMode.cs index 231f7adb..4a62dbc6 100644 --- a/SabreTools.Serialization/Files/AttractMode.Deserializer.cs +++ b/SabreTools.Serialization/Deserializers/AttractMode.cs @@ -1,10 +1,12 @@ using SabreTools.Serialization.Interfaces; -namespace SabreTools.Serialization.Files +namespace SabreTools.Serialization.Deserializers { - public partial class AttractMode : IFileSerializer + public class AttractMode : IFileDeserializer { - /// + #region IFileDeserializer + + /// public static Models.AttractMode.MetadataFile? DeserializeFile(string? path) { var deserializer = new AttractMode(); @@ -17,5 +19,7 @@ namespace SabreTools.Serialization.Files using var stream = PathProcessor.OpenStream(path); return Streams.AttractMode.DeserializeStream(stream); } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/BDPlus.cs b/SabreTools.Serialization/Deserializers/BDPlus.cs index 19ea9112..f6e6cae3 100644 --- a/SabreTools.Serialization/Deserializers/BDPlus.cs +++ b/SabreTools.Serialization/Deserializers/BDPlus.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class BDPlus : IByteDeserializer + public class BDPlus : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.BDPlus.SVM? DeserializeBytes(byte[]? data, int offset) { var deserializer = new BDPlus(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.BDPlus.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.BDPlus.SVM? DeserializeFile(string? path) + { + var deserializer = new BDPlus(); + return deserializer.Deserialize(path); + } + + /// + public Models.BDPlus.SVM? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.BDPlus.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/BFPK.cs b/SabreTools.Serialization/Deserializers/BFPK.cs index 293fb3a6..abe6cb81 100644 --- a/SabreTools.Serialization/Deserializers/BFPK.cs +++ b/SabreTools.Serialization/Deserializers/BFPK.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class BFPK : IByteDeserializer + public class BFPK : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.BFPK.Archive? DeserializeBytes(byte[]? data, int offset) { var deserializer = new BFPK(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.BFPK.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.BFPK.Archive? DeserializeFile(string? path) + { + var deserializer = new BFPK(); + return deserializer.Deserialize(path); + } + + /// + public Models.BFPK.Archive? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.BFPK.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/BSP.cs b/SabreTools.Serialization/Deserializers/BSP.cs index 957a1984..b55e94cd 100644 --- a/SabreTools.Serialization/Deserializers/BSP.cs +++ b/SabreTools.Serialization/Deserializers/BSP.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class BSP : IByteDeserializer + public class BSP : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.BSP.File? DeserializeBytes(byte[]? data, int offset) { var deserializer = new BSP(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.BSP.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.BSP.File? DeserializeFile(string? path) + { + var deserializer = new BSP(); + return deserializer.Deserialize(path); + } + + /// + public Models.BSP.File? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.BSP.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/CFB.cs b/SabreTools.Serialization/Deserializers/CFB.cs index 046a4c39..e7535c45 100644 --- a/SabreTools.Serialization/Deserializers/CFB.cs +++ b/SabreTools.Serialization/Deserializers/CFB.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class CFB : IByteDeserializer + public class CFB : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.CFB.Binary? DeserializeBytes(byte[]? data, int offset) { var deserializer = new CFB(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.CFB.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.CFB.Binary? DeserializeFile(string? path) + { + var deserializer = new CFB(); + return deserializer.Deserialize(path); + } + + /// + public Models.CFB.Binary? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.CFB.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/CIA.cs b/SabreTools.Serialization/Deserializers/CIA.cs index 340e9abf..4d3ae64d 100644 --- a/SabreTools.Serialization/Deserializers/CIA.cs +++ b/SabreTools.Serialization/Deserializers/CIA.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class CIA : IByteDeserializer + public class CIA : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.N3DS.CIA? DeserializeBytes(byte[]? data, int offset) { var deserializer = new CIA(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.CIA.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.N3DS.CIA? DeserializeFile(string? path) + { + var deserializer = new CIA(); + return deserializer.Deserialize(path); + } + + /// + public Models.N3DS.CIA? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.CIA.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Files/Catalog.Deserializer.cs b/SabreTools.Serialization/Deserializers/Catalog.cs similarity index 63% rename from SabreTools.Serialization/Files/Catalog.Deserializer.cs rename to SabreTools.Serialization/Deserializers/Catalog.cs index 0916c68a..5f1ebcac 100644 --- a/SabreTools.Serialization/Files/Catalog.Deserializer.cs +++ b/SabreTools.Serialization/Deserializers/Catalog.cs @@ -1,10 +1,12 @@ using System.Text; -namespace SabreTools.Serialization.Files +namespace SabreTools.Serialization.Deserializers { - public partial class Catalog : JsonFile + public class Catalog : JsonFile { - /// + #region IFileDeserializer + + /// public static Models.Xbox.Catalog? DeserializeFile(string? path) { var deserializer = new Catalog(); @@ -14,5 +16,7 @@ namespace SabreTools.Serialization.Files // Catalog.js file is a UTF-16 LE JSON public override Models.Xbox.Catalog? Deserialize(string? path) => Deserialize(path, new UnicodeEncoding()); + + #endregion } } diff --git a/SabreTools.Serialization/Files/ClrMamePro.Deserializer.cs b/SabreTools.Serialization/Deserializers/ClrMamePro.cs similarity index 73% rename from SabreTools.Serialization/Files/ClrMamePro.Deserializer.cs rename to SabreTools.Serialization/Deserializers/ClrMamePro.cs index 9f96ec5d..3a47ee62 100644 --- a/SabreTools.Serialization/Files/ClrMamePro.Deserializer.cs +++ b/SabreTools.Serialization/Deserializers/ClrMamePro.cs @@ -1,10 +1,12 @@ using SabreTools.Serialization.Interfaces; -namespace SabreTools.Serialization.Files +namespace SabreTools.Serialization.Deserializers { - public partial class ClrMamePro : IFileSerializer + public class ClrMamePro : IFileDeserializer { - /// + #region IFileDeserializer + + /// public static Models.ClrMamePro.MetadataFile? DeserializeFile(string? path, bool quotes = true) { var deserializer = new ClrMamePro(); @@ -21,5 +23,7 @@ namespace SabreTools.Serialization.Files using var stream = PathProcessor.OpenStream(path); return Streams.ClrMamePro.DeserializeStream(stream, quotes); } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Files/CueSheet.Deserializer.cs b/SabreTools.Serialization/Deserializers/CueSheet.cs similarity index 66% rename from SabreTools.Serialization/Files/CueSheet.Deserializer.cs rename to SabreTools.Serialization/Deserializers/CueSheet.cs index eb0362f3..1bba3672 100644 --- a/SabreTools.Serialization/Files/CueSheet.Deserializer.cs +++ b/SabreTools.Serialization/Deserializers/CueSheet.cs @@ -1,10 +1,12 @@ using SabreTools.Serialization.Interfaces; -namespace SabreTools.Serialization.Files +namespace SabreTools.Serialization.Deserializers { - public partial class CueSheet : IFileSerializer + public class CueSheet : IFileDeserializer { - /// + #region IFileDeserializer + + /// public static Models.CueSheets.CueSheet? DeserializeFile(string? path) { var deserializer = new CueSheet(); @@ -17,5 +19,7 @@ namespace SabreTools.Serialization.Files using var stream = PathProcessor.OpenStream(path); return Streams.CueSheet.DeserializeStream(stream); } + + #endregion } } diff --git a/SabreTools.Serialization/Files/DosCenter.Deserializer.cs b/SabreTools.Serialization/Deserializers/DosCenter.cs similarity index 66% rename from SabreTools.Serialization/Files/DosCenter.Deserializer.cs rename to SabreTools.Serialization/Deserializers/DosCenter.cs index 2738ebc5..26d1ac69 100644 --- a/SabreTools.Serialization/Files/DosCenter.Deserializer.cs +++ b/SabreTools.Serialization/Deserializers/DosCenter.cs @@ -1,10 +1,12 @@ using SabreTools.Serialization.Interfaces; -namespace SabreTools.Serialization.Files +namespace SabreTools.Serialization.Deserializers { - public partial class DosCenter : IFileSerializer + public class DosCenter : IFileDeserializer { - /// + #region IFileDeserializer + + /// public static Models.DosCenter.MetadataFile? DeserializeFile(string? path) { var deserializer = new DosCenter(); @@ -17,5 +19,7 @@ namespace SabreTools.Serialization.Files using var stream = PathProcessor.OpenStream(path); return Streams.DosCenter.DeserializeStream(stream); } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Files/EverdriveSMDB.Deserializer.cs b/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs similarity index 66% rename from SabreTools.Serialization/Files/EverdriveSMDB.Deserializer.cs rename to SabreTools.Serialization/Deserializers/EverdriveSMDB.cs index 791fa995..b1422922 100644 --- a/SabreTools.Serialization/Files/EverdriveSMDB.Deserializer.cs +++ b/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs @@ -1,10 +1,12 @@ using SabreTools.Serialization.Interfaces; -namespace SabreTools.Serialization.Files +namespace SabreTools.Serialization.Deserializers { - public partial class EverdriveSMDB : IFileSerializer + public class EverdriveSMDB : IFileDeserializer { - /// + #region IFileDeserializer + + /// public static Models.EverdriveSMDB.MetadataFile? DeserializeFile(string? path) { var deserializer = new EverdriveSMDB(); @@ -17,5 +19,7 @@ namespace SabreTools.Serialization.Files using var stream = PathProcessor.OpenStream(path); return Streams.EverdriveSMDB.DeserializeStream(stream); } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/GCF.cs b/SabreTools.Serialization/Deserializers/GCF.cs index 1283044a..06779bbc 100644 --- a/SabreTools.Serialization/Deserializers/GCF.cs +++ b/SabreTools.Serialization/Deserializers/GCF.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class GCF : IByteDeserializer + public class GCF : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.GCF.File? DeserializeBytes(byte[]? data, int offset) { var deserializer = new GCF(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.GCF.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.GCF.File? DeserializeFile(string? path) + { + var deserializer = new GCF(); + return deserializer.Deserialize(path); + } + + /// + public Models.GCF.File? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.GCF.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Files/Hashfile.Deserializer.cs b/SabreTools.Serialization/Deserializers/Hashfile.cs similarity index 72% rename from SabreTools.Serialization/Files/Hashfile.Deserializer.cs rename to SabreTools.Serialization/Deserializers/Hashfile.cs index 7f830ab7..ada5722d 100644 --- a/SabreTools.Serialization/Files/Hashfile.Deserializer.cs +++ b/SabreTools.Serialization/Deserializers/Hashfile.cs @@ -1,10 +1,12 @@ using SabreTools.Serialization.Interfaces; -namespace SabreTools.Serialization.Files +namespace SabreTools.Serialization.Deserializers { - public partial class Hashfile : IFileSerializer + public class Hashfile : IFileDeserializer { - /// + #region IFileDeserializer + + /// public static Models.Hashfile.Hashfile? DeserializeFile(string? path, Hash hash = Hash.CRC) { var deserializer = new Hashfile(); @@ -21,5 +23,7 @@ namespace SabreTools.Serialization.Files using var stream = PathProcessor.OpenStream(path); return Streams.Hashfile.DeserializeStream(stream, hash); } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/IRD.cs b/SabreTools.Serialization/Deserializers/IRD.cs index 069f5393..b071fc8b 100644 --- a/SabreTools.Serialization/Deserializers/IRD.cs +++ b/SabreTools.Serialization/Deserializers/IRD.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class IRD : IByteDeserializer + public class IRD : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.IRD.File? DeserializeBytes(byte[]? data, int offset) { var deserializer = new IRD(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.IRD.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.IRD.File? DeserializeFile(string? path) + { + var deserializer = new IRD(); + return deserializer.Deserialize(path); + } + + /// + public Models.IRD.File? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.IRD.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/InstallShieldCabinet.cs b/SabreTools.Serialization/Deserializers/InstallShieldCabinet.cs index 37bd50c5..4b7a394c 100644 --- a/SabreTools.Serialization/Deserializers/InstallShieldCabinet.cs +++ b/SabreTools.Serialization/Deserializers/InstallShieldCabinet.cs @@ -4,9 +4,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { // TODO: Add multi-cabinet reading - public partial class InstallShieldCabinet : IByteDeserializer + public class InstallShieldCabinet : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.InstallShieldCabinet.Cabinet? DeserializeBytes(byte[]? data, int offset) { var deserializer = new InstallShieldCabinet(); @@ -28,5 +32,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.InstallShieldCabinet.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.InstallShieldCabinet.Cabinet? DeserializeFile(string? path) + { + var deserializer = new InstallShieldCabinet(); + return deserializer.Deserialize(path); + } + + /// + public Models.InstallShieldCabinet.Cabinet? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.InstallShieldCabinet.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Files/JsonFile.Deserializer.cs b/SabreTools.Serialization/Deserializers/JsonFile.cs similarity index 85% rename from SabreTools.Serialization/Files/JsonFile.Deserializer.cs rename to SabreTools.Serialization/Deserializers/JsonFile.cs index 265bb43d..a1fb92cd 100644 --- a/SabreTools.Serialization/Files/JsonFile.Deserializer.cs +++ b/SabreTools.Serialization/Deserializers/JsonFile.cs @@ -1,14 +1,16 @@ using System.Text; using SabreTools.Serialization.Interfaces; -namespace SabreTools.Serialization.Files +namespace SabreTools.Serialization.Deserializers { /// /// Base class for other JSON serializers /// /// - public partial class JsonFile : IFileSerializer + public class JsonFile : IFileDeserializer { + #region IFileDeserializer + /// public virtual T? Deserialize(string? path) => Deserialize(path, new UTF8Encoding(false)); @@ -25,5 +27,7 @@ namespace SabreTools.Serialization.Files using var data = PathProcessor.OpenStream(path); return new Streams.JsonFile().Deserialize(data, encoding); } + + #endregion } } diff --git a/SabreTools.Serialization/Deserializers/LinearExecutable.cs b/SabreTools.Serialization/Deserializers/LinearExecutable.cs index d8923762..b81a4c0d 100644 --- a/SabreTools.Serialization/Deserializers/LinearExecutable.cs +++ b/SabreTools.Serialization/Deserializers/LinearExecutable.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class LinearExecutable : IByteDeserializer + public class LinearExecutable : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.LinearExecutable.Executable? DeserializeBytes(byte[]? data, int offset) { var deserializer = new LinearExecutable(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.LinearExecutable.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.LinearExecutable.Executable? DeserializeFile(string? path) + { + var deserializer = new LinearExecutable(); + return deserializer.Deserialize(path); + } + + /// + public Models.LinearExecutable.Executable? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.LinearExecutable.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Files/Listrom.Deserializer.cs b/SabreTools.Serialization/Deserializers/Listrom.cs similarity index 66% rename from SabreTools.Serialization/Files/Listrom.Deserializer.cs rename to SabreTools.Serialization/Deserializers/Listrom.cs index dd098c19..ff77583d 100644 --- a/SabreTools.Serialization/Files/Listrom.Deserializer.cs +++ b/SabreTools.Serialization/Deserializers/Listrom.cs @@ -1,10 +1,12 @@ using SabreTools.Serialization.Interfaces; -namespace SabreTools.Serialization.Files +namespace SabreTools.Serialization.Deserializers { - public partial class Listrom : IFileSerializer + public class Listrom : IFileDeserializer { - /// + #region IFileDeserializer + + /// public static Models.Listrom.MetadataFile? DeserializeFile(string? path) { var deserializer = new Listrom(); @@ -17,5 +19,7 @@ namespace SabreTools.Serialization.Files using var stream = PathProcessor.OpenStream(path); return Streams.Listrom.DeserializeStream(stream); } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/Listxml.cs b/SabreTools.Serialization/Deserializers/Listxml.cs new file mode 100644 index 00000000..5a84f052 --- /dev/null +++ b/SabreTools.Serialization/Deserializers/Listxml.cs @@ -0,0 +1,16 @@ +namespace SabreTools.Serialization.Deserializers +{ + public class Listxml : XmlFile + { + #region IFileDeserializer + + /// + public static Models.Listxml.Mame? DeserializeFile(string? path) + { + var deserializer = new Listxml(); + return deserializer.Deserialize(path); + } + + #endregion + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/Logiqx.cs b/SabreTools.Serialization/Deserializers/Logiqx.cs new file mode 100644 index 00000000..c8c5c4cd --- /dev/null +++ b/SabreTools.Serialization/Deserializers/Logiqx.cs @@ -0,0 +1,16 @@ +namespace SabreTools.Serialization.Deserializers +{ + public class Logiqx : XmlFile + { + #region IFileDeserializer + + /// + public static Models.Logiqx.Datafile? DeserializeFile(string? path) + { + var deserializer = new Logiqx(); + return deserializer.Deserialize(path); + } + + #endregion + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/M1.cs b/SabreTools.Serialization/Deserializers/M1.cs new file mode 100644 index 00000000..4d320595 --- /dev/null +++ b/SabreTools.Serialization/Deserializers/M1.cs @@ -0,0 +1,16 @@ +namespace SabreTools.Serialization.Deserializers +{ + public class M1 : XmlFile + { + #region IFileDeserializer + + /// + public static Models.Listxml.M1? DeserializeFile(string? path) + { + var deserializer = new M1(); + return deserializer.Deserialize(path); + } + + #endregion + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/MSDOS.cs b/SabreTools.Serialization/Deserializers/MSDOS.cs index e49c644d..6c353b82 100644 --- a/SabreTools.Serialization/Deserializers/MSDOS.cs +++ b/SabreTools.Serialization/Deserializers/MSDOS.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class MSDOS : IByteDeserializer + public class MSDOS : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.MSDOS.Executable? DeserializeBytes(byte[]? data, int offset) { var deserializer = new MSDOS(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.MSDOS.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.MSDOS.Executable? DeserializeFile(string? path) + { + var deserializer = new MSDOS(); + return deserializer.Deserialize(path); + } + + /// + public Models.MSDOS.Executable? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.MSDOS.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs b/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs index 41c483fa..65983052 100644 --- a/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs +++ b/SabreTools.Serialization/Deserializers/MicrosoftCabinet.cs @@ -4,9 +4,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { // TODO: Add multi-cabinet reading - public partial class MicrosoftCabinet : IByteDeserializer + public class MicrosoftCabinet : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.MicrosoftCabinet.Cabinet? DeserializeBytes(byte[]? data, int offset) { var deserializer = new MicrosoftCabinet(); @@ -28,5 +32,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.MicrosoftCabinet.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.MicrosoftCabinet.Cabinet? DeserializeFile(string? path) + { + var deserializer = new MicrosoftCabinet(); + return deserializer.Deserialize(path); + } + + /// + public Models.MicrosoftCabinet.Cabinet? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.MicrosoftCabinet.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/MoPaQ.cs b/SabreTools.Serialization/Deserializers/MoPaQ.cs index 9de31f23..a7c1c3ad 100644 --- a/SabreTools.Serialization/Deserializers/MoPaQ.cs +++ b/SabreTools.Serialization/Deserializers/MoPaQ.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class MoPaQ : IByteDeserializer + public class MoPaQ : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.MoPaQ.Archive? DeserializeBytes(byte[]? data, int offset) { var deserializer = new MoPaQ(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.MoPaQ.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.MoPaQ.Archive? DeserializeFile(string? path) + { + var deserializer = new MoPaQ(); + return deserializer.Deserialize(path); + } + + /// + public Models.MoPaQ.Archive? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.MoPaQ.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/N3DS.cs b/SabreTools.Serialization/Deserializers/N3DS.cs index 99894960..c57d0de5 100644 --- a/SabreTools.Serialization/Deserializers/N3DS.cs +++ b/SabreTools.Serialization/Deserializers/N3DS.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class N3DS : IByteDeserializer + public class N3DS : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.N3DS.Cart? DeserializeBytes(byte[]? data, int offset) { var deserializer = new N3DS(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.N3DS.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.N3DS.Cart? DeserializeFile(string? path) + { + var deserializer = new N3DS(); + return deserializer.Deserialize(path); + } + + /// + public Models.N3DS.Cart? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.N3DS.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/NCF.cs b/SabreTools.Serialization/Deserializers/NCF.cs index 5e5959f6..253fb4ef 100644 --- a/SabreTools.Serialization/Deserializers/NCF.cs +++ b/SabreTools.Serialization/Deserializers/NCF.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class NCF : IByteDeserializer + public class NCF : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.NCF.File? DeserializeBytes(byte[]? data, int offset) { var deserializer = new NCF(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.NCF.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.NCF.File? DeserializeFile(string? path) + { + var deserializer = new NCF(); + return deserializer.Deserialize(path); + } + + /// + public Models.NCF.File? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.NCF.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/NewExecutable.cs b/SabreTools.Serialization/Deserializers/NewExecutable.cs index f65b42d0..02f26807 100644 --- a/SabreTools.Serialization/Deserializers/NewExecutable.cs +++ b/SabreTools.Serialization/Deserializers/NewExecutable.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class NewExecutable : IByteDeserializer + public class NewExecutable : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.NewExecutable.Executable? DeserializeBytes(byte[]? data, int offset) { var deserializer = new NewExecutable(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.NewExecutable.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.NewExecutable.Executable? DeserializeFile(string? path) + { + var deserializer = new NewExecutable(); + return deserializer.Deserialize(path); + } + + /// + public Models.NewExecutable.Executable? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.NewExecutable.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/Nitro.cs b/SabreTools.Serialization/Deserializers/Nitro.cs index 187fce0f..3ea0a3b5 100644 --- a/SabreTools.Serialization/Deserializers/Nitro.cs +++ b/SabreTools.Serialization/Deserializers/Nitro.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class Nitro : IByteDeserializer + public class Nitro : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.Nitro.Cart? DeserializeBytes(byte[]? data, int offset) { var deserializer = new Nitro(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.Nitro.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.Nitro.Cart? DeserializeFile(string? path) + { + var deserializer = new Nitro(); + return deserializer.Deserialize(path); + } + + /// + public Models.Nitro.Cart? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.Nitro.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/OfflineList.cs b/SabreTools.Serialization/Deserializers/OfflineList.cs new file mode 100644 index 00000000..694c2481 --- /dev/null +++ b/SabreTools.Serialization/Deserializers/OfflineList.cs @@ -0,0 +1,16 @@ +namespace SabreTools.Serialization.Deserializers +{ + public class OfflineList : XmlFile + { + #region IFileDeserializer + + /// + public static Models.OfflineList.Dat? DeserializeFile(string? path) + { + var deserializer = new OfflineList(); + return deserializer.Deserialize(path); + } + + #endregion + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/OpenMSX.cs b/SabreTools.Serialization/Deserializers/OpenMSX.cs new file mode 100644 index 00000000..ad55fb43 --- /dev/null +++ b/SabreTools.Serialization/Deserializers/OpenMSX.cs @@ -0,0 +1,16 @@ +namespace SabreTools.Serialization.Deserializers +{ + public class OpenMSX : XmlFile + { + #region IFileDeserializer + + /// + public static Models.OpenMSX.SoftwareDb? DeserializeFile(string? path) + { + var deserializer = new OpenMSX(); + return deserializer.Deserialize(path); + } + + #endregion + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/PAK.cs b/SabreTools.Serialization/Deserializers/PAK.cs index 6df15c58..0b2fa33d 100644 --- a/SabreTools.Serialization/Deserializers/PAK.cs +++ b/SabreTools.Serialization/Deserializers/PAK.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class PAK : IByteDeserializer + public class PAK : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.PAK.File? DeserializeBytes(byte[]? data, int offset) { var deserializer = new PAK(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.PAK.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.PAK.File? DeserializeFile(string? path) + { + var deserializer = new PAK(); + return deserializer.Deserialize(path); + } + + /// + public Models.PAK.File? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.PAK.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/PFF.cs b/SabreTools.Serialization/Deserializers/PFF.cs index 9f487e40..0e94628b 100644 --- a/SabreTools.Serialization/Deserializers/PFF.cs +++ b/SabreTools.Serialization/Deserializers/PFF.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class PFF : IByteDeserializer + public class PFF : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.PFF.Archive? DeserializeBytes(byte[]? data, int offset) { var deserializer = new PFF(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.PFF.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.PFF.Archive? DeserializeFile(string? path) + { + var deserializer = new PFF(); + return deserializer.Deserialize(path); + } + + /// + public Models.PFF.Archive? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.PFF.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Files/PIC.Deserializer.cs b/SabreTools.Serialization/Deserializers/PIC.cs similarity index 66% rename from SabreTools.Serialization/Files/PIC.Deserializer.cs rename to SabreTools.Serialization/Deserializers/PIC.cs index 8079cab8..9a69ec38 100644 --- a/SabreTools.Serialization/Files/PIC.Deserializer.cs +++ b/SabreTools.Serialization/Deserializers/PIC.cs @@ -1,10 +1,12 @@ using SabreTools.Serialization.Interfaces; -namespace SabreTools.Serialization.Files +namespace SabreTools.Serialization.Deserializers { - public partial class PIC : IFileSerializer + public class PIC : IFileDeserializer { - /// + #region IFileDeserializer + + /// public static Models.PIC.DiscInformation? DeserializeFile(string? path) { var deserializer = new PIC(); @@ -17,5 +19,7 @@ namespace SabreTools.Serialization.Files using var stream = PathProcessor.OpenStream(path); return Streams.PIC.DeserializeStream(stream); } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/PlayJAudio.cs b/SabreTools.Serialization/Deserializers/PlayJAudio.cs index 6aaac573..b034ffae 100644 --- a/SabreTools.Serialization/Deserializers/PlayJAudio.cs +++ b/SabreTools.Serialization/Deserializers/PlayJAudio.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class PlayJAudio : IByteDeserializer + public class PlayJAudio : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.PlayJ.AudioFile? DeserializeBytes(byte[]? data, int offset) { var deserializer = new PlayJAudio(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.PlayJAudio.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.PlayJ.AudioFile? DeserializeFile(string? path) + { + var deserializer = new PlayJAudio(); + return deserializer.Deserialize(path); + } + + /// + public Models.PlayJ.AudioFile? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.PlayJAudio.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/PlayJPlaylist.cs b/SabreTools.Serialization/Deserializers/PlayJPlaylist.cs index 1f7f2f40..bbe4e33e 100644 --- a/SabreTools.Serialization/Deserializers/PlayJPlaylist.cs +++ b/SabreTools.Serialization/Deserializers/PlayJPlaylist.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class PlayJPlaylist : IByteDeserializer + public class PlayJPlaylist : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.PlayJ.Playlist? DeserializeBytes(byte[]? data, int offset) { var deserializer = new PlayJPlaylist(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.PlayJPlaylist.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.PlayJ.Playlist? DeserializeFile(string? path) + { + var deserializer = new PlayJPlaylist(); + return deserializer.Deserialize(path); + } + + /// + public Models.PlayJ.Playlist? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.PlayJPlaylist.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/PortableExecutable.cs b/SabreTools.Serialization/Deserializers/PortableExecutable.cs index b3cadea9..7ec8eaf0 100644 --- a/SabreTools.Serialization/Deserializers/PortableExecutable.cs +++ b/SabreTools.Serialization/Deserializers/PortableExecutable.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class PortableExecutable : IByteDeserializer + public class PortableExecutable : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.PortableExecutable.Executable? DeserializeBytes(byte[]? data, int offset) { var deserializer = new PortableExecutable(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.PortableExecutable.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.PortableExecutable.Executable? DeserializeFile(string? path) + { + var deserializer = new PortableExecutable(); + return deserializer.Deserialize(path); + } + + /// + public Models.PortableExecutable.Executable? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.PortableExecutable.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/Quantum.cs b/SabreTools.Serialization/Deserializers/Quantum.cs index 3e959361..c26289d6 100644 --- a/SabreTools.Serialization/Deserializers/Quantum.cs +++ b/SabreTools.Serialization/Deserializers/Quantum.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class Quantum : IByteDeserializer + public class Quantum : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.Quantum.Archive? DeserializeBytes(byte[]? data, int offset) { var deserializer = new Quantum(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.Quantum.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.Quantum.Archive? DeserializeFile(string? path) + { + var deserializer = new Quantum(); + return deserializer.Deserialize(path); + } + + /// + public Models.Quantum.Archive? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.Quantum.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Files/RomCenter.Deserializer.cs b/SabreTools.Serialization/Deserializers/RomCenter.cs similarity index 66% rename from SabreTools.Serialization/Files/RomCenter.Deserializer.cs rename to SabreTools.Serialization/Deserializers/RomCenter.cs index e739b813..8b123739 100644 --- a/SabreTools.Serialization/Files/RomCenter.Deserializer.cs +++ b/SabreTools.Serialization/Deserializers/RomCenter.cs @@ -1,10 +1,12 @@ using SabreTools.Serialization.Interfaces; -namespace SabreTools.Serialization.Files +namespace SabreTools.Serialization.Deserializers { - public partial class RomCenter : IFileSerializer + public class RomCenter : IFileDeserializer { - /// + #region IFileDeserializer + + /// public static Models.RomCenter.MetadataFile? DeserializeFile(string? path) { var deserializer = new RomCenter(); @@ -17,5 +19,7 @@ namespace SabreTools.Serialization.Files using var stream = PathProcessor.OpenStream(path); return Streams.RomCenter.DeserializeStream(stream); } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/SGA.cs b/SabreTools.Serialization/Deserializers/SGA.cs index 5d50d447..a3011d02 100644 --- a/SabreTools.Serialization/Deserializers/SGA.cs +++ b/SabreTools.Serialization/Deserializers/SGA.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class SGA : IByteDeserializer + public class SGA : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.SGA.File? DeserializeBytes(byte[]? data, int offset) { var deserializer = new SGA(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.SGA.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.SGA.File? DeserializeFile(string? path) + { + var deserializer = new SGA(); + return deserializer.Deserialize(path); + } + + /// + public Models.SGA.File? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.SGA.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Files/SeparatedValue.Deserializer.cs b/SabreTools.Serialization/Deserializers/SeparatedValue.cs similarity index 73% rename from SabreTools.Serialization/Files/SeparatedValue.Deserializer.cs rename to SabreTools.Serialization/Deserializers/SeparatedValue.cs index 4ad9e3ca..7b70065d 100644 --- a/SabreTools.Serialization/Files/SeparatedValue.Deserializer.cs +++ b/SabreTools.Serialization/Deserializers/SeparatedValue.cs @@ -1,10 +1,12 @@ using SabreTools.Serialization.Interfaces; -namespace SabreTools.Serialization.Files +namespace SabreTools.Serialization.Deserializers { - public partial class SeparatedValue : IFileSerializer + public class SeparatedValue : IFileDeserializer { - /// + #region IFileDeserializer + + /// public static Models.SeparatedValue.MetadataFile? DeserializeFile(string? path, char delim = ',') { var deserializer = new SeparatedValue(); @@ -21,5 +23,7 @@ namespace SabreTools.Serialization.Files using var stream = PathProcessor.OpenStream(path); return Streams.SeparatedValue.DeserializeStream(stream, delim); } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/SoftwareList.cs b/SabreTools.Serialization/Deserializers/SoftwareList.cs new file mode 100644 index 00000000..36a9ab1b --- /dev/null +++ b/SabreTools.Serialization/Deserializers/SoftwareList.cs @@ -0,0 +1,16 @@ +namespace SabreTools.Serialization.Deserializers +{ + public class SoftwareList : XmlFile + { + #region IFileDeserializer + + /// + public static Models.SoftwareList.SoftwareList? DeserializeFile(string? path) + { + var deserializer = new SoftwareList(); + return deserializer.Deserialize(path); + } + + #endregion + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/VBSP.cs b/SabreTools.Serialization/Deserializers/VBSP.cs index 88c9ac7d..189e4b9c 100644 --- a/SabreTools.Serialization/Deserializers/VBSP.cs +++ b/SabreTools.Serialization/Deserializers/VBSP.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class VBSP : IByteDeserializer + public class VBSP : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.VBSP.File? DeserializeBytes(byte[]? data, int offset) { var deserializer = new VBSP(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.VBSP.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.VBSP.File? DeserializeFile(string? path) + { + var deserializer = new VBSP(); + return deserializer.Deserialize(path); + } + + /// + public Models.VBSP.File? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.VBSP.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/VPK.cs b/SabreTools.Serialization/Deserializers/VPK.cs index df6e516c..dedb5917 100644 --- a/SabreTools.Serialization/Deserializers/VPK.cs +++ b/SabreTools.Serialization/Deserializers/VPK.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class VPK : IByteDeserializer + public class VPK : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.VPK.File? DeserializeBytes(byte[]? data, int offset) { var deserializer = new VPK(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.VPK.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.VPK.File? DeserializeFile(string? path) + { + var deserializer = new VPK(); + return deserializer.Deserialize(path); + } + + /// + public Models.VPK.File? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.VPK.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/WAD.cs b/SabreTools.Serialization/Deserializers/WAD.cs index b4eca7c9..2c6b0b39 100644 --- a/SabreTools.Serialization/Deserializers/WAD.cs +++ b/SabreTools.Serialization/Deserializers/WAD.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class WAD : IByteDeserializer + public class WAD : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.WAD.File? DeserializeBytes(byte[]? data, int offset) { var deserializer = new WAD(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.WAD.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.WAD.File? DeserializeFile(string? path) + { + var deserializer = new WAD(); + return deserializer.Deserialize(path); + } + + /// + public Models.WAD.File? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.WAD.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Deserializers/XZP.cs b/SabreTools.Serialization/Deserializers/XZP.cs index d2376ffd..cbf7cc06 100644 --- a/SabreTools.Serialization/Deserializers/XZP.cs +++ b/SabreTools.Serialization/Deserializers/XZP.cs @@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces; namespace SabreTools.Serialization.Deserializers { - public partial class XZP : IByteDeserializer + public class XZP : + IByteDeserializer, + IFileDeserializer { - /// + #region IByteDeserializer + + /// public static Models.XZP.File? DeserializeBytes(byte[]? data, int offset) { var deserializer = new XZP(); @@ -27,5 +31,25 @@ namespace SabreTools.Serialization.Deserializers var dataStream = new MemoryStream(data, offset, data.Length - offset); return Streams.XZP.DeserializeStream(dataStream); } + + #endregion + + #region IFileDeserializer + + /// + public static Models.XZP.File? DeserializeFile(string? path) + { + var deserializer = new XZP(); + return deserializer.Deserialize(path); + } + + /// + public Models.XZP.File? Deserialize(string? path) + { + using var stream = PathProcessor.OpenStream(path); + return Streams.XZP.DeserializeStream(stream); + } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Files/XmlFile.Deserializer.cs b/SabreTools.Serialization/Deserializers/XmlFile.cs similarity index 63% rename from SabreTools.Serialization/Files/XmlFile.Deserializer.cs rename to SabreTools.Serialization/Deserializers/XmlFile.cs index f57ce06e..861dffb1 100644 --- a/SabreTools.Serialization/Files/XmlFile.Deserializer.cs +++ b/SabreTools.Serialization/Deserializers/XmlFile.cs @@ -1,18 +1,22 @@ using SabreTools.Serialization.Interfaces; -namespace SabreTools.Serialization.Files +namespace SabreTools.Serialization.Deserializers { /// - /// Base class for other XML serializers + /// Base class for other XML deserializers /// /// - public partial class XmlFile : IFileSerializer + public class XmlFile : IFileDeserializer { + #region IFileDeserializer + /// public T? Deserialize(string? path) { using var data = PathProcessor.OpenStream(path); return new Streams.XmlFile().Deserialize(data); } + + #endregion } } \ No newline at end of file diff --git a/SabreTools.Serialization/Files/AACS.Deserializer.cs b/SabreTools.Serialization/Files/AACS.Deserializer.cs deleted file mode 100644 index 08f9bdb9..00000000 --- a/SabreTools.Serialization/Files/AACS.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class AACS : IFileSerializer - { - /// - public static Models.AACS.MediaKeyBlock? DeserializeFile(string? path) - { - var deserializer = new AACS(); - return deserializer.Deserialize(path); - } - - /// - public Models.AACS.MediaKeyBlock? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.AACS.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/ArchiveDotOrg.Deserializer.cs b/SabreTools.Serialization/Files/ArchiveDotOrg.Deserializer.cs deleted file mode 100644 index 61b86637..00000000 --- a/SabreTools.Serialization/Files/ArchiveDotOrg.Deserializer.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace SabreTools.Serialization.Files -{ - public partial class ArchiveDotOrg : XmlFile - { - /// - public static Models.ArchiveDotOrg.Files? DeserializeFile(string? path) - { - var deserializer = new ArchiveDotOrg(); - return deserializer.Deserialize(path); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/BDPlus.Deserializer.cs b/SabreTools.Serialization/Files/BDPlus.Deserializer.cs deleted file mode 100644 index 1f8c7849..00000000 --- a/SabreTools.Serialization/Files/BDPlus.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class BDPlus : IFileSerializer - { - /// - public static Models.BDPlus.SVM? DeserializeFile(string? path) - { - var deserializer = new BDPlus(); - return deserializer.Deserialize(path); - } - - /// - public Models.BDPlus.SVM? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.BDPlus.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/BFPK.Deserializer.cs b/SabreTools.Serialization/Files/BFPK.Deserializer.cs deleted file mode 100644 index 8906096a..00000000 --- a/SabreTools.Serialization/Files/BFPK.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class BFPK : IFileSerializer - { - /// - public static Models.BFPK.Archive? DeserializeFile(string? path) - { - var deserializer = new BFPK(); - return deserializer.Deserialize(path); - } - - /// - public Models.BFPK.Archive? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.BFPK.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/BSP.Deserializer.cs b/SabreTools.Serialization/Files/BSP.Deserializer.cs deleted file mode 100644 index 8657fbfc..00000000 --- a/SabreTools.Serialization/Files/BSP.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class BSP : IFileSerializer - { - /// - public static Models.BSP.File? DeserializeFile(string? path) - { - var deserializer = new BSP(); - return deserializer.Deserialize(path); - } - - /// - public Models.BSP.File? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.BSP.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/CFB.Deserializer.cs b/SabreTools.Serialization/Files/CFB.Deserializer.cs deleted file mode 100644 index b1e2598b..00000000 --- a/SabreTools.Serialization/Files/CFB.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class CFB : IFileSerializer - { - /// - public static Models.CFB.Binary? DeserializeFile(string? path) - { - var deserializer = new CFB(); - return deserializer.Deserialize(path); - } - - /// - public Models.CFB.Binary? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.CFB.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/CIA.Deserializer.cs b/SabreTools.Serialization/Files/CIA.Deserializer.cs deleted file mode 100644 index aea3fe72..00000000 --- a/SabreTools.Serialization/Files/CIA.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class CIA : IFileSerializer - { - /// - public static Models.N3DS.CIA? DeserializeFile(string? path) - { - var deserializer = new CIA(); - return deserializer.Deserialize(path); - } - - /// - public Models.N3DS.CIA? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.CIA.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/GCF.Deserializer.cs b/SabreTools.Serialization/Files/GCF.Deserializer.cs deleted file mode 100644 index 51a70abd..00000000 --- a/SabreTools.Serialization/Files/GCF.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class GCF : IFileSerializer - { - /// - public static Models.GCF.File? DeserializeFile(string? path) - { - var deserializer = new GCF(); - return deserializer.Deserialize(path); - } - - /// - public Models.GCF.File? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.GCF.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/IRD.Deserializer.cs b/SabreTools.Serialization/Files/IRD.Deserializer.cs deleted file mode 100644 index c4482204..00000000 --- a/SabreTools.Serialization/Files/IRD.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class IRD : IFileSerializer - { - /// - public static Models.IRD.File? DeserializeFile(string? path) - { - var deserializer = new IRD(); - return deserializer.Deserialize(path); - } - - /// - public Models.IRD.File? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.IRD.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/InstallShieldCabinet.Deserializer.cs b/SabreTools.Serialization/Files/InstallShieldCabinet.Deserializer.cs deleted file mode 100644 index f90fe2f0..00000000 --- a/SabreTools.Serialization/Files/InstallShieldCabinet.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class InstallShieldCabinet : IFileSerializer - { - /// - public static Models.InstallShieldCabinet.Cabinet? DeserializeFile(string? path) - { - var deserializer = new InstallShieldCabinet(); - return deserializer.Deserialize(path); - } - - /// - public Models.InstallShieldCabinet.Cabinet? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.InstallShieldCabinet.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/LinearExecutable.Deserializer.cs b/SabreTools.Serialization/Files/LinearExecutable.Deserializer.cs deleted file mode 100644 index 2c32daf3..00000000 --- a/SabreTools.Serialization/Files/LinearExecutable.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class LinearExecutable : IFileSerializer - { - /// - public static Models.LinearExecutable.Executable? DeserializeFile(string? path) - { - var deserializer = new LinearExecutable(); - return deserializer.Deserialize(path); - } - - /// - public Models.LinearExecutable.Executable? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.LinearExecutable.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/Listxml.Deserializer.cs b/SabreTools.Serialization/Files/Listxml.Deserializer.cs deleted file mode 100644 index e84d8d48..00000000 --- a/SabreTools.Serialization/Files/Listxml.Deserializer.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace SabreTools.Serialization.Files -{ - public partial class Listxml : XmlFile - { - /// - public static Models.Listxml.Mame? DeserializeFile(string? path) - { - var deserializer = new Listxml(); - return deserializer.Deserialize(path); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/Logiqx.Deserializer.cs b/SabreTools.Serialization/Files/Logiqx.Deserializer.cs deleted file mode 100644 index c64a43b8..00000000 --- a/SabreTools.Serialization/Files/Logiqx.Deserializer.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace SabreTools.Serialization.Files -{ - public partial class Logiqx : XmlFile - { - /// - public static Models.Logiqx.Datafile? DeserializeFile(string? path) - { - var deserializer = new Logiqx(); - return deserializer.Deserialize(path); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/M1.Deserializer.cs b/SabreTools.Serialization/Files/M1.Deserializer.cs deleted file mode 100644 index cce932cc..00000000 --- a/SabreTools.Serialization/Files/M1.Deserializer.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace SabreTools.Serialization.Files -{ - public partial class M1 : XmlFile - { - /// - public static Models.Listxml.M1? DeserializeFile(string? path) - { - var deserializer = new M1(); - return deserializer.Deserialize(path); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/MSDOS.Deserializer.cs b/SabreTools.Serialization/Files/MSDOS.Deserializer.cs deleted file mode 100644 index 6a888882..00000000 --- a/SabreTools.Serialization/Files/MSDOS.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class MSDOS : IFileSerializer - { - /// - public static Models.MSDOS.Executable? DeserializeFile(string? path) - { - var deserializer = new MSDOS(); - return deserializer.Deserialize(path); - } - - /// - public Models.MSDOS.Executable? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.MSDOS.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/MicrosoftCabinet.Deserializer.cs b/SabreTools.Serialization/Files/MicrosoftCabinet.Deserializer.cs deleted file mode 100644 index 4f312d91..00000000 --- a/SabreTools.Serialization/Files/MicrosoftCabinet.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class MicrosoftCabinet : IFileSerializer - { - /// - public static Models.MicrosoftCabinet.Cabinet? DeserializeFile(string? path) - { - var deserializer = new MicrosoftCabinet(); - return deserializer.Deserialize(path); - } - - /// - public Models.MicrosoftCabinet.Cabinet? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.MicrosoftCabinet.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/MoPaQ.Deserializer.cs b/SabreTools.Serialization/Files/MoPaQ.Deserializer.cs deleted file mode 100644 index 88b56eb6..00000000 --- a/SabreTools.Serialization/Files/MoPaQ.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class MoPaQ : IFileSerializer - { - /// - public static Models.MoPaQ.Archive? DeserializeFile(string? path) - { - var deserializer = new MoPaQ(); - return deserializer.Deserialize(path); - } - - /// - public Models.MoPaQ.Archive? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.MoPaQ.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/N3DS.Deserializer.cs b/SabreTools.Serialization/Files/N3DS.Deserializer.cs deleted file mode 100644 index dc3ce8df..00000000 --- a/SabreTools.Serialization/Files/N3DS.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class N3DS : IFileSerializer - { - /// - public static Models.N3DS.Cart? DeserializeFile(string? path) - { - var deserializer = new N3DS(); - return deserializer.Deserialize(path); - } - - /// - public Models.N3DS.Cart? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.N3DS.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/NCF.Deserializer.cs b/SabreTools.Serialization/Files/NCF.Deserializer.cs deleted file mode 100644 index 0c6942bd..00000000 --- a/SabreTools.Serialization/Files/NCF.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class NCF : IFileSerializer - { - /// - public static Models.NCF.File? DeserializeFile(string? path) - { - var deserializer = new NCF(); - return deserializer.Deserialize(path); - } - - /// - public Models.NCF.File? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.NCF.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/NewExecutable.Deserializer.cs b/SabreTools.Serialization/Files/NewExecutable.Deserializer.cs deleted file mode 100644 index f2d2da64..00000000 --- a/SabreTools.Serialization/Files/NewExecutable.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class NewExecutable : IFileSerializer - { - /// - public static Models.NewExecutable.Executable? DeserializeFile(string? path) - { - var deserializer = new NewExecutable(); - return deserializer.Deserialize(path); - } - - /// - public Models.NewExecutable.Executable? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.NewExecutable.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/Nitro.Deserializer.cs b/SabreTools.Serialization/Files/Nitro.Deserializer.cs deleted file mode 100644 index 5ceb3cad..00000000 --- a/SabreTools.Serialization/Files/Nitro.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class Nitro : IFileSerializer - { - /// - public static Models.Nitro.Cart? DeserializeFile(string? path) - { - var deserializer = new Nitro(); - return deserializer.Deserialize(path); - } - - /// - public Models.Nitro.Cart? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.Nitro.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/OfflineList.Deserializer.cs b/SabreTools.Serialization/Files/OfflineList.Deserializer.cs deleted file mode 100644 index 40bd5146..00000000 --- a/SabreTools.Serialization/Files/OfflineList.Deserializer.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace SabreTools.Serialization.Files -{ - public partial class OfflineList : XmlFile - { - /// - public static Models.OfflineList.Dat? DeserializeFile(string? path) - { - var deserializer = new OfflineList(); - return deserializer.Deserialize(path); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/OpenMSX.Deserializer.cs b/SabreTools.Serialization/Files/OpenMSX.Deserializer.cs deleted file mode 100644 index e584aec5..00000000 --- a/SabreTools.Serialization/Files/OpenMSX.Deserializer.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace SabreTools.Serialization.Files -{ - public partial class OpenMSX : XmlFile - { - /// - public static Models.OpenMSX.SoftwareDb? DeserializeFile(string? path) - { - var deserializer = new OpenMSX(); - return deserializer.Deserialize(path); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/PAK.Deserializer.cs b/SabreTools.Serialization/Files/PAK.Deserializer.cs deleted file mode 100644 index fb786b2f..00000000 --- a/SabreTools.Serialization/Files/PAK.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class PAK : IFileSerializer - { - /// - public static Models.PAK.File? DeserializeFile(string? path) - { - var deserializer = new PAK(); - return deserializer.Deserialize(path); - } - - /// - public Models.PAK.File? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.PAK.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/PFF.Deserializer.cs b/SabreTools.Serialization/Files/PFF.Deserializer.cs deleted file mode 100644 index d8438444..00000000 --- a/SabreTools.Serialization/Files/PFF.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class PFF : IFileSerializer - { - /// - public static Models.PFF.Archive? DeserializeFile(string? path) - { - var deserializer = new PFF(); - return deserializer.Deserialize(path); - } - - /// - public Models.PFF.Archive? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.PFF.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/PlayJAudio.Deserializer.cs b/SabreTools.Serialization/Files/PlayJAudio.Deserializer.cs deleted file mode 100644 index 8a5a2205..00000000 --- a/SabreTools.Serialization/Files/PlayJAudio.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class PlayJAudio : IFileSerializer - { - /// - public static Models.PlayJ.AudioFile? DeserializeFile(string? path) - { - var deserializer = new PlayJAudio(); - return deserializer.Deserialize(path); - } - - /// - public Models.PlayJ.AudioFile? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.PlayJAudio.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/PlayJPlaylist.Deserializer.cs b/SabreTools.Serialization/Files/PlayJPlaylist.Deserializer.cs deleted file mode 100644 index 08466a1f..00000000 --- a/SabreTools.Serialization/Files/PlayJPlaylist.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class PlayJPlaylist : IFileSerializer - { - /// - public static Models.PlayJ.Playlist? DeserializeFile(string? path) - { - var deserializer = new PlayJPlaylist(); - return deserializer.Deserialize(path); - } - - /// - public Models.PlayJ.Playlist? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.PlayJPlaylist.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/PortableExecutable.Deserializer.cs b/SabreTools.Serialization/Files/PortableExecutable.Deserializer.cs deleted file mode 100644 index ddaab35d..00000000 --- a/SabreTools.Serialization/Files/PortableExecutable.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class PortableExecutable : IFileSerializer - { - /// - public static Models.PortableExecutable.Executable? DeserializeFile(string? path) - { - var deserializer = new PortableExecutable(); - return deserializer.Deserialize(path); - } - - /// - public Models.PortableExecutable.Executable? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.PortableExecutable.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/Quantum.Deserializer.cs b/SabreTools.Serialization/Files/Quantum.Deserializer.cs deleted file mode 100644 index 8f1628ce..00000000 --- a/SabreTools.Serialization/Files/Quantum.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class Quantum : IFileSerializer - { - /// - public static Models.Quantum.Archive? DeserializeFile(string? path) - { - var deserializer = new Quantum(); - return deserializer.Deserialize(path); - } - - /// - public Models.Quantum.Archive? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.Quantum.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/SGA.Deserializer.cs b/SabreTools.Serialization/Files/SGA.Deserializer.cs deleted file mode 100644 index 75fb48ba..00000000 --- a/SabreTools.Serialization/Files/SGA.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class SGA : IFileSerializer - { - /// - public static Models.SGA.File? DeserializeFile(string? path) - { - var deserializer = new SGA(); - return deserializer.Deserialize(path); - } - - /// - public Models.SGA.File? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.SGA.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/SoftwareList.Deserializer.cs b/SabreTools.Serialization/Files/SoftwareList.Deserializer.cs deleted file mode 100644 index ff85e69e..00000000 --- a/SabreTools.Serialization/Files/SoftwareList.Deserializer.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace SabreTools.Serialization.Files -{ - public partial class SoftwareList : XmlFile - { - /// - public static Models.SoftwareList.SoftwareList? DeserializeFile(string? path) - { - var deserializer = new SoftwareList(); - return deserializer.Deserialize(path); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/VBSP.Deserializer.cs b/SabreTools.Serialization/Files/VBSP.Deserializer.cs deleted file mode 100644 index a8edec16..00000000 --- a/SabreTools.Serialization/Files/VBSP.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class VBSP : IFileSerializer - { - /// - public static Models.VBSP.File? DeserializeFile(string? path) - { - var deserializer = new VBSP(); - return deserializer.Deserialize(path); - } - - /// - public Models.VBSP.File? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.VBSP.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/VPK.Deserializer.cs b/SabreTools.Serialization/Files/VPK.Deserializer.cs deleted file mode 100644 index 099ebd8b..00000000 --- a/SabreTools.Serialization/Files/VPK.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class VPK : IFileSerializer - { - /// - public static Models.VPK.File? DeserializeFile(string? path) - { - var deserializer = new VPK(); - return deserializer.Deserialize(path); - } - - /// - public Models.VPK.File? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.VPK.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/WAD.Deserializer.cs b/SabreTools.Serialization/Files/WAD.Deserializer.cs deleted file mode 100644 index 170530ee..00000000 --- a/SabreTools.Serialization/Files/WAD.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class WAD : IFileSerializer - { - /// - public static Models.WAD.File? DeserializeFile(string? path) - { - var deserializer = new WAD(); - return deserializer.Deserialize(path); - } - - /// - public Models.WAD.File? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.WAD.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Files/XZP.Deserializer.cs b/SabreTools.Serialization/Files/XZP.Deserializer.cs deleted file mode 100644 index d17c3947..00000000 --- a/SabreTools.Serialization/Files/XZP.Deserializer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class XZP : IFileSerializer - { - /// - public static Models.XZP.File? DeserializeFile(string? path) - { - var deserializer = new XZP(); - return deserializer.Deserialize(path); - } - - /// - public Models.XZP.File? Deserialize(string? path) - { - using var stream = PathProcessor.OpenStream(path); - return Streams.XZP.DeserializeStream(stream); - } - } -} \ No newline at end of file diff --git a/SabreTools.Serialization/Interfaces/IFileDeserializer.cs b/SabreTools.Serialization/Interfaces/IFileDeserializer.cs new file mode 100644 index 00000000..4603c7d0 --- /dev/null +++ b/SabreTools.Serialization/Interfaces/IFileDeserializer.cs @@ -0,0 +1,16 @@ +namespace SabreTools.Serialization.Interfaces +{ + /// + /// Defines how to deserialize from files + /// + public interface IFileDeserializer + { + /// + /// Deserialize a file into + /// + /// Type of object to deserialize to + /// Path to deserialize from + /// Filled object on success, null on error + T? Deserialize(string? path); + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Interfaces/IFileSerializer.cs b/SabreTools.Serialization/Interfaces/IFileSerializer.cs index 28e281ec..827063da 100644 --- a/SabreTools.Serialization/Interfaces/IFileSerializer.cs +++ b/SabreTools.Serialization/Interfaces/IFileSerializer.cs @@ -1,18 +1,10 @@ namespace SabreTools.Serialization.Interfaces { /// - /// Defines how to serialize to and from files + /// Defines how to serialize to files /// public interface IFileSerializer { - /// - /// Deserialize a file into - /// - /// Type of object to deserialize to - /// Path to deserialize from - /// Filled object on success, null on error - T? Deserialize(string? path); - /// /// Serialize a into a file /// diff --git a/SabreTools.Serialization/Interfaces/IStreamDeserializer.cs b/SabreTools.Serialization/Interfaces/IStreamDeserializer.cs new file mode 100644 index 00000000..898fc270 --- /dev/null +++ b/SabreTools.Serialization/Interfaces/IStreamDeserializer.cs @@ -0,0 +1,16 @@ +namespace SabreTools.Serialization.Interfaces +{ + /// + /// Defines how to serialize from Streams + /// + public interface IStreamDeserializer + { + /// + /// Deserialize a Stream into + /// + /// Type of object to deserialize to + /// Stream to parse + /// Filled object on success, null on error + T? Deserialize(System.IO.Stream? data); + } +} \ No newline at end of file diff --git a/SabreTools.Serialization/Interfaces/IStreamSerializer.cs b/SabreTools.Serialization/Interfaces/IStreamSerializer.cs index 4488b6f8..d983dedf 100644 --- a/SabreTools.Serialization/Interfaces/IStreamSerializer.cs +++ b/SabreTools.Serialization/Interfaces/IStreamSerializer.cs @@ -1,7 +1,7 @@ namespace SabreTools.Serialization.Interfaces { /// - /// Defines how to serialize to and from Streams + /// Defines how to serialize to Streams /// public interface IStreamSerializer {