Move file deserializers to new organization

This commit is contained in:
Matt Nadareski
2024-04-03 17:27:08 -04:00
parent 8b546fbf27
commit a3f3384ac9
88 changed files with 965 additions and 776 deletions

View File

@@ -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`

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class AACS : IByteDeserializer<Models.AACS.MediaKeyBlock>
public class AACS :
IByteDeserializer<Models.AACS.MediaKeyBlock>,
IFileDeserializer<Models.AACS.MediaKeyBlock>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.AACS.MediaKeyBlock? DeserializeFile(string? path)
{
var deserializer = new AACS();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.AACS.MediaKeyBlock? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.AACS.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -0,0 +1,16 @@
namespace SabreTools.Serialization.Deserializers
{
public class ArchiveDotOrg : XmlFile<Models.ArchiveDotOrg.Files>
{
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.ArchiveDotOrg.Files? DeserializeFile(string? path)
{
var deserializer = new ArchiveDotOrg();
return deserializer.Deserialize(path);
}
#endregion
}
}

View File

@@ -1,10 +1,12 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
namespace SabreTools.Serialization.Deserializers
{
public partial class AttractMode : IFileSerializer<Models.AttractMode.MetadataFile>
public class AttractMode : IFileDeserializer<Models.AttractMode.MetadataFile>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
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
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class BDPlus : IByteDeserializer<Models.BDPlus.SVM>
public class BDPlus :
IByteDeserializer<Models.BDPlus.SVM>,
IFileDeserializer<Models.BDPlus.SVM>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.BDPlus.SVM? DeserializeFile(string? path)
{
var deserializer = new BDPlus();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.BDPlus.SVM? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.BDPlus.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class BFPK : IByteDeserializer<Models.BFPK.Archive>
public class BFPK :
IByteDeserializer<Models.BFPK.Archive>,
IFileDeserializer<Models.BFPK.Archive>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.BFPK.Archive? DeserializeFile(string? path)
{
var deserializer = new BFPK();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.BFPK.Archive? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.BFPK.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class BSP : IByteDeserializer<Models.BSP.File>
public class BSP :
IByteDeserializer<Models.BSP.File>,
IFileDeserializer<Models.BSP.File>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.BSP.File? DeserializeFile(string? path)
{
var deserializer = new BSP();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.BSP.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.BSP.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class CFB : IByteDeserializer<Models.CFB.Binary>
public class CFB :
IByteDeserializer<Models.CFB.Binary>,
IFileDeserializer<Models.CFB.Binary>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.CFB.Binary? DeserializeFile(string? path)
{
var deserializer = new CFB();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.CFB.Binary? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.CFB.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class CIA : IByteDeserializer<Models.N3DS.CIA>
public class CIA :
IByteDeserializer<Models.N3DS.CIA>,
IFileDeserializer<Models.N3DS.CIA>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.N3DS.CIA? DeserializeFile(string? path)
{
var deserializer = new CIA();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.N3DS.CIA? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.CIA.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -1,10 +1,12 @@
using System.Text;
namespace SabreTools.Serialization.Files
namespace SabreTools.Serialization.Deserializers
{
public partial class Catalog : JsonFile<Models.Xbox.Catalog>
public class Catalog : JsonFile<Models.Xbox.Catalog>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
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
}
}

View File

@@ -1,10 +1,12 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
namespace SabreTools.Serialization.Deserializers
{
public partial class ClrMamePro : IFileSerializer<Models.ClrMamePro.MetadataFile>
public class ClrMamePro : IFileDeserializer<Models.ClrMamePro.MetadataFile>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
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
}
}

View File

@@ -1,10 +1,12 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
namespace SabreTools.Serialization.Deserializers
{
public partial class CueSheet : IFileSerializer<Models.CueSheets.CueSheet>
public class CueSheet : IFileDeserializer<Models.CueSheets.CueSheet>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
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
}
}

View File

@@ -1,10 +1,12 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
namespace SabreTools.Serialization.Deserializers
{
public partial class DosCenter : IFileSerializer<Models.DosCenter.MetadataFile>
public class DosCenter : IFileDeserializer<Models.DosCenter.MetadataFile>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
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
}
}

View File

@@ -1,10 +1,12 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
namespace SabreTools.Serialization.Deserializers
{
public partial class EverdriveSMDB : IFileSerializer<Models.EverdriveSMDB.MetadataFile>
public class EverdriveSMDB : IFileDeserializer<Models.EverdriveSMDB.MetadataFile>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
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
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class GCF : IByteDeserializer<Models.GCF.File>
public class GCF :
IByteDeserializer<Models.GCF.File>,
IFileDeserializer<Models.GCF.File>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.GCF.File? DeserializeFile(string? path)
{
var deserializer = new GCF();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.GCF.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.GCF.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -1,10 +1,12 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
namespace SabreTools.Serialization.Deserializers
{
public partial class Hashfile : IFileSerializer<Models.Hashfile.Hashfile>
public class Hashfile : IFileDeserializer<Models.Hashfile.Hashfile>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
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
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class IRD : IByteDeserializer<Models.IRD.File>
public class IRD :
IByteDeserializer<Models.IRD.File>,
IFileDeserializer<Models.IRD.File>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.IRD.File? DeserializeFile(string? path)
{
var deserializer = new IRD();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.IRD.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.IRD.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -4,9 +4,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
// TODO: Add multi-cabinet reading
public partial class InstallShieldCabinet : IByteDeserializer<Models.InstallShieldCabinet.Cabinet>
public class InstallShieldCabinet :
IByteDeserializer<Models.InstallShieldCabinet.Cabinet>,
IFileDeserializer<Models.InstallShieldCabinet.Cabinet>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.InstallShieldCabinet.Cabinet? DeserializeFile(string? path)
{
var deserializer = new InstallShieldCabinet();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.InstallShieldCabinet.Cabinet? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.InstallShieldCabinet.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -1,14 +1,16 @@
using System.Text;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
namespace SabreTools.Serialization.Deserializers
{
/// <summary>
/// Base class for other JSON serializers
/// </summary>
/// <typeparam name="T"></typeparam>
public partial class JsonFile<T> : IFileSerializer<T>
public class JsonFile<T> : IFileDeserializer<T>
{
#region IFileDeserializer
/// <inheritdoc/>
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<T>().Deserialize(data, encoding);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class LinearExecutable : IByteDeserializer<Models.LinearExecutable.Executable>
public class LinearExecutable :
IByteDeserializer<Models.LinearExecutable.Executable>,
IFileDeserializer<Models.LinearExecutable.Executable>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.LinearExecutable.Executable? DeserializeFile(string? path)
{
var deserializer = new LinearExecutable();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.LinearExecutable.Executable? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.LinearExecutable.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -1,10 +1,12 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
namespace SabreTools.Serialization.Deserializers
{
public partial class Listrom : IFileSerializer<Models.Listrom.MetadataFile>
public class Listrom : IFileDeserializer<Models.Listrom.MetadataFile>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
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
}
}

View File

@@ -0,0 +1,16 @@
namespace SabreTools.Serialization.Deserializers
{
public class Listxml : XmlFile<Models.Listxml.Mame>
{
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.Listxml.Mame? DeserializeFile(string? path)
{
var deserializer = new Listxml();
return deserializer.Deserialize(path);
}
#endregion
}
}

View File

@@ -0,0 +1,16 @@
namespace SabreTools.Serialization.Deserializers
{
public class Logiqx : XmlFile<Models.Logiqx.Datafile>
{
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.Logiqx.Datafile? DeserializeFile(string? path)
{
var deserializer = new Logiqx();
return deserializer.Deserialize(path);
}
#endregion
}
}

View File

@@ -0,0 +1,16 @@
namespace SabreTools.Serialization.Deserializers
{
public class M1 : XmlFile<Models.Listxml.M1>
{
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.Listxml.M1? DeserializeFile(string? path)
{
var deserializer = new M1();
return deserializer.Deserialize(path);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class MSDOS : IByteDeserializer<Models.MSDOS.Executable>
public class MSDOS :
IByteDeserializer<Models.MSDOS.Executable>,
IFileDeserializer<Models.MSDOS.Executable>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.MSDOS.Executable? DeserializeFile(string? path)
{
var deserializer = new MSDOS();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.MSDOS.Executable? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.MSDOS.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -4,9 +4,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
// TODO: Add multi-cabinet reading
public partial class MicrosoftCabinet : IByteDeserializer<Models.MicrosoftCabinet.Cabinet>
public class MicrosoftCabinet :
IByteDeserializer<Models.MicrosoftCabinet.Cabinet>,
IFileDeserializer<Models.MicrosoftCabinet.Cabinet>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.MicrosoftCabinet.Cabinet? DeserializeFile(string? path)
{
var deserializer = new MicrosoftCabinet();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.MicrosoftCabinet.Cabinet? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.MicrosoftCabinet.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class MoPaQ : IByteDeserializer<Models.MoPaQ.Archive>
public class MoPaQ :
IByteDeserializer<Models.MoPaQ.Archive>,
IFileDeserializer<Models.MoPaQ.Archive>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.MoPaQ.Archive? DeserializeFile(string? path)
{
var deserializer = new MoPaQ();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.MoPaQ.Archive? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.MoPaQ.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class N3DS : IByteDeserializer<Models.N3DS.Cart>
public class N3DS :
IByteDeserializer<Models.N3DS.Cart>,
IFileDeserializer<Models.N3DS.Cart>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.N3DS.Cart? DeserializeFile(string? path)
{
var deserializer = new N3DS();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.N3DS.Cart? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.N3DS.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class NCF : IByteDeserializer<Models.NCF.File>
public class NCF :
IByteDeserializer<Models.NCF.File>,
IFileDeserializer<Models.NCF.File>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.NCF.File? DeserializeFile(string? path)
{
var deserializer = new NCF();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.NCF.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.NCF.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class NewExecutable : IByteDeserializer<Models.NewExecutable.Executable>
public class NewExecutable :
IByteDeserializer<Models.NewExecutable.Executable>,
IFileDeserializer<Models.NewExecutable.Executable>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.NewExecutable.Executable? DeserializeFile(string? path)
{
var deserializer = new NewExecutable();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.NewExecutable.Executable? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.NewExecutable.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class Nitro : IByteDeserializer<Models.Nitro.Cart>
public class Nitro :
IByteDeserializer<Models.Nitro.Cart>,
IFileDeserializer<Models.Nitro.Cart>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.Nitro.Cart? DeserializeFile(string? path)
{
var deserializer = new Nitro();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.Nitro.Cart? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.Nitro.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -0,0 +1,16 @@
namespace SabreTools.Serialization.Deserializers
{
public class OfflineList : XmlFile<Models.OfflineList.Dat>
{
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.OfflineList.Dat? DeserializeFile(string? path)
{
var deserializer = new OfflineList();
return deserializer.Deserialize(path);
}
#endregion
}
}

View File

@@ -0,0 +1,16 @@
namespace SabreTools.Serialization.Deserializers
{
public class OpenMSX : XmlFile<Models.OpenMSX.SoftwareDb>
{
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.OpenMSX.SoftwareDb? DeserializeFile(string? path)
{
var deserializer = new OpenMSX();
return deserializer.Deserialize(path);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class PAK : IByteDeserializer<Models.PAK.File>
public class PAK :
IByteDeserializer<Models.PAK.File>,
IFileDeserializer<Models.PAK.File>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.PAK.File? DeserializeFile(string? path)
{
var deserializer = new PAK();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.PAK.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.PAK.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class PFF : IByteDeserializer<Models.PFF.Archive>
public class PFF :
IByteDeserializer<Models.PFF.Archive>,
IFileDeserializer<Models.PFF.Archive>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.PFF.Archive? DeserializeFile(string? path)
{
var deserializer = new PFF();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.PFF.Archive? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.PFF.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -1,10 +1,12 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
namespace SabreTools.Serialization.Deserializers
{
public partial class PIC : IFileSerializer<Models.PIC.DiscInformation>
public class PIC : IFileDeserializer<Models.PIC.DiscInformation>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
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
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class PlayJAudio : IByteDeserializer<Models.PlayJ.AudioFile>
public class PlayJAudio :
IByteDeserializer<Models.PlayJ.AudioFile>,
IFileDeserializer<Models.PlayJ.AudioFile>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.PlayJ.AudioFile? DeserializeFile(string? path)
{
var deserializer = new PlayJAudio();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.PlayJ.AudioFile? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.PlayJAudio.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class PlayJPlaylist : IByteDeserializer<Models.PlayJ.Playlist>
public class PlayJPlaylist :
IByteDeserializer<Models.PlayJ.Playlist>,
IFileDeserializer<Models.PlayJ.Playlist>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.PlayJ.Playlist? DeserializeFile(string? path)
{
var deserializer = new PlayJPlaylist();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.PlayJ.Playlist? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.PlayJPlaylist.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class PortableExecutable : IByteDeserializer<Models.PortableExecutable.Executable>
public class PortableExecutable :
IByteDeserializer<Models.PortableExecutable.Executable>,
IFileDeserializer<Models.PortableExecutable.Executable>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.PortableExecutable.Executable? DeserializeFile(string? path)
{
var deserializer = new PortableExecutable();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.PortableExecutable.Executable? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.PortableExecutable.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class Quantum : IByteDeserializer<Models.Quantum.Archive>
public class Quantum :
IByteDeserializer<Models.Quantum.Archive>,
IFileDeserializer<Models.Quantum.Archive>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.Quantum.Archive? DeserializeFile(string? path)
{
var deserializer = new Quantum();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.Quantum.Archive? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.Quantum.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -1,10 +1,12 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
namespace SabreTools.Serialization.Deserializers
{
public partial class RomCenter : IFileSerializer<Models.RomCenter.MetadataFile>
public class RomCenter : IFileDeserializer<Models.RomCenter.MetadataFile>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
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
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class SGA : IByteDeserializer<Models.SGA.File>
public class SGA :
IByteDeserializer<Models.SGA.File>,
IFileDeserializer<Models.SGA.File>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.SGA.File? DeserializeFile(string? path)
{
var deserializer = new SGA();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.SGA.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.SGA.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -1,10 +1,12 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
namespace SabreTools.Serialization.Deserializers
{
public partial class SeparatedValue : IFileSerializer<Models.SeparatedValue.MetadataFile>
public class SeparatedValue : IFileDeserializer<Models.SeparatedValue.MetadataFile>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
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
}
}

View File

@@ -0,0 +1,16 @@
namespace SabreTools.Serialization.Deserializers
{
public class SoftwareList : XmlFile<Models.SoftwareList.SoftwareList>
{
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.SoftwareList.SoftwareList? DeserializeFile(string? path)
{
var deserializer = new SoftwareList();
return deserializer.Deserialize(path);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class VBSP : IByteDeserializer<Models.VBSP.File>
public class VBSP :
IByteDeserializer<Models.VBSP.File>,
IFileDeserializer<Models.VBSP.File>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.VBSP.File? DeserializeFile(string? path)
{
var deserializer = new VBSP();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.VBSP.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.VBSP.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class VPK : IByteDeserializer<Models.VPK.File>
public class VPK :
IByteDeserializer<Models.VPK.File>,
IFileDeserializer<Models.VPK.File>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.VPK.File? DeserializeFile(string? path)
{
var deserializer = new VPK();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.VPK.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.VPK.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class WAD : IByteDeserializer<Models.WAD.File>
public class WAD :
IByteDeserializer<Models.WAD.File>,
IFileDeserializer<Models.WAD.File>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.WAD.File? DeserializeFile(string? path)
{
var deserializer = new WAD();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.WAD.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.WAD.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -3,9 +3,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public partial class XZP : IByteDeserializer<Models.XZP.File>
public class XZP :
IByteDeserializer<Models.XZP.File>,
IFileDeserializer<Models.XZP.File>
{
/// <inheritdoc cref="IByteSerializer.Deserialize(byte[]?, int)"/>
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
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
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.XZP.File? DeserializeFile(string? path)
{
var deserializer = new XZP();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.XZP.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.XZP.DeserializeStream(stream);
}
#endregion
}
}

View File

@@ -1,18 +1,22 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
namespace SabreTools.Serialization.Deserializers
{
/// <summary>
/// Base class for other XML serializers
/// Base class for other XML deserializers
/// </summary>
/// <typeparam name="T"></typeparam>
public partial class XmlFile<T> : IFileSerializer<T>
public class XmlFile<T> : IFileDeserializer<T>
{
#region IFileDeserializer
/// <inheritdoc/>
public T? Deserialize(string? path)
{
using var data = PathProcessor.OpenStream(path);
return new Streams.XmlFile<T>().Deserialize(data);
}
#endregion
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class AACS : IFileSerializer<Models.AACS.MediaKeyBlock>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.AACS.MediaKeyBlock? DeserializeFile(string? path)
{
var deserializer = new AACS();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.AACS.MediaKeyBlock? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.AACS.DeserializeStream(stream);
}
}
}

View File

@@ -1,12 +0,0 @@
namespace SabreTools.Serialization.Files
{
public partial class ArchiveDotOrg : XmlFile<Models.ArchiveDotOrg.Files>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.ArchiveDotOrg.Files? DeserializeFile(string? path)
{
var deserializer = new ArchiveDotOrg();
return deserializer.Deserialize(path);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class BDPlus : IFileSerializer<Models.BDPlus.SVM>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.BDPlus.SVM? DeserializeFile(string? path)
{
var deserializer = new BDPlus();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.BDPlus.SVM? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.BDPlus.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class BFPK : IFileSerializer<Models.BFPK.Archive>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.BFPK.Archive? DeserializeFile(string? path)
{
var deserializer = new BFPK();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.BFPK.Archive? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.BFPK.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class BSP : IFileSerializer<Models.BSP.File>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.BSP.File? DeserializeFile(string? path)
{
var deserializer = new BSP();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.BSP.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.BSP.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class CFB : IFileSerializer<Models.CFB.Binary>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.CFB.Binary? DeserializeFile(string? path)
{
var deserializer = new CFB();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.CFB.Binary? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.CFB.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class CIA : IFileSerializer<Models.N3DS.CIA>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.N3DS.CIA? DeserializeFile(string? path)
{
var deserializer = new CIA();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.N3DS.CIA? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.CIA.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class GCF : IFileSerializer<Models.GCF.File>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.GCF.File? DeserializeFile(string? path)
{
var deserializer = new GCF();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.GCF.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.GCF.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class IRD : IFileSerializer<Models.IRD.File>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.IRD.File? DeserializeFile(string? path)
{
var deserializer = new IRD();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.IRD.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.IRD.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class InstallShieldCabinet : IFileSerializer<Models.InstallShieldCabinet.Cabinet>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.InstallShieldCabinet.Cabinet? DeserializeFile(string? path)
{
var deserializer = new InstallShieldCabinet();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.InstallShieldCabinet.Cabinet? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.InstallShieldCabinet.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class LinearExecutable : IFileSerializer<Models.LinearExecutable.Executable>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.LinearExecutable.Executable? DeserializeFile(string? path)
{
var deserializer = new LinearExecutable();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.LinearExecutable.Executable? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.LinearExecutable.DeserializeStream(stream);
}
}
}

View File

@@ -1,12 +0,0 @@
namespace SabreTools.Serialization.Files
{
public partial class Listxml : XmlFile<Models.Listxml.Mame>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.Listxml.Mame? DeserializeFile(string? path)
{
var deserializer = new Listxml();
return deserializer.Deserialize(path);
}
}
}

View File

@@ -1,12 +0,0 @@
namespace SabreTools.Serialization.Files
{
public partial class Logiqx : XmlFile<Models.Logiqx.Datafile>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.Logiqx.Datafile? DeserializeFile(string? path)
{
var deserializer = new Logiqx();
return deserializer.Deserialize(path);
}
}
}

View File

@@ -1,12 +0,0 @@
namespace SabreTools.Serialization.Files
{
public partial class M1 : XmlFile<Models.Listxml.M1>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.Listxml.M1? DeserializeFile(string? path)
{
var deserializer = new M1();
return deserializer.Deserialize(path);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class MSDOS : IFileSerializer<Models.MSDOS.Executable>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.MSDOS.Executable? DeserializeFile(string? path)
{
var deserializer = new MSDOS();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.MSDOS.Executable? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.MSDOS.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class MicrosoftCabinet : IFileSerializer<Models.MicrosoftCabinet.Cabinet>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.MicrosoftCabinet.Cabinet? DeserializeFile(string? path)
{
var deserializer = new MicrosoftCabinet();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.MicrosoftCabinet.Cabinet? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.MicrosoftCabinet.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class MoPaQ : IFileSerializer<Models.MoPaQ.Archive>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.MoPaQ.Archive? DeserializeFile(string? path)
{
var deserializer = new MoPaQ();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.MoPaQ.Archive? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.MoPaQ.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class N3DS : IFileSerializer<Models.N3DS.Cart>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.N3DS.Cart? DeserializeFile(string? path)
{
var deserializer = new N3DS();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.N3DS.Cart? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.N3DS.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class NCF : IFileSerializer<Models.NCF.File>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.NCF.File? DeserializeFile(string? path)
{
var deserializer = new NCF();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.NCF.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.NCF.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class NewExecutable : IFileSerializer<Models.NewExecutable.Executable>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.NewExecutable.Executable? DeserializeFile(string? path)
{
var deserializer = new NewExecutable();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.NewExecutable.Executable? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.NewExecutable.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class Nitro : IFileSerializer<Models.Nitro.Cart>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.Nitro.Cart? DeserializeFile(string? path)
{
var deserializer = new Nitro();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.Nitro.Cart? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.Nitro.DeserializeStream(stream);
}
}
}

View File

@@ -1,12 +0,0 @@
namespace SabreTools.Serialization.Files
{
public partial class OfflineList : XmlFile<Models.OfflineList.Dat>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.OfflineList.Dat? DeserializeFile(string? path)
{
var deserializer = new OfflineList();
return deserializer.Deserialize(path);
}
}
}

View File

@@ -1,12 +0,0 @@
namespace SabreTools.Serialization.Files
{
public partial class OpenMSX : XmlFile<Models.OpenMSX.SoftwareDb>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.OpenMSX.SoftwareDb? DeserializeFile(string? path)
{
var deserializer = new OpenMSX();
return deserializer.Deserialize(path);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class PAK : IFileSerializer<Models.PAK.File>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.PAK.File? DeserializeFile(string? path)
{
var deserializer = new PAK();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.PAK.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.PAK.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class PFF : IFileSerializer<Models.PFF.Archive>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.PFF.Archive? DeserializeFile(string? path)
{
var deserializer = new PFF();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.PFF.Archive? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.PFF.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class PlayJAudio : IFileSerializer<Models.PlayJ.AudioFile>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.PlayJ.AudioFile? DeserializeFile(string? path)
{
var deserializer = new PlayJAudio();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.PlayJ.AudioFile? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.PlayJAudio.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class PlayJPlaylist : IFileSerializer<Models.PlayJ.Playlist>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.PlayJ.Playlist? DeserializeFile(string? path)
{
var deserializer = new PlayJPlaylist();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.PlayJ.Playlist? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.PlayJPlaylist.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class PortableExecutable : IFileSerializer<Models.PortableExecutable.Executable>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.PortableExecutable.Executable? DeserializeFile(string? path)
{
var deserializer = new PortableExecutable();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.PortableExecutable.Executable? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.PortableExecutable.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class Quantum : IFileSerializer<Models.Quantum.Archive>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.Quantum.Archive? DeserializeFile(string? path)
{
var deserializer = new Quantum();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.Quantum.Archive? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.Quantum.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class SGA : IFileSerializer<Models.SGA.File>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.SGA.File? DeserializeFile(string? path)
{
var deserializer = new SGA();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.SGA.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.SGA.DeserializeStream(stream);
}
}
}

View File

@@ -1,12 +0,0 @@
namespace SabreTools.Serialization.Files
{
public partial class SoftwareList : XmlFile<Models.SoftwareList.SoftwareList>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.SoftwareList.SoftwareList? DeserializeFile(string? path)
{
var deserializer = new SoftwareList();
return deserializer.Deserialize(path);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class VBSP : IFileSerializer<Models.VBSP.File>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.VBSP.File? DeserializeFile(string? path)
{
var deserializer = new VBSP();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.VBSP.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.VBSP.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class VPK : IFileSerializer<Models.VPK.File>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.VPK.File? DeserializeFile(string? path)
{
var deserializer = new VPK();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.VPK.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.VPK.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class WAD : IFileSerializer<Models.WAD.File>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.WAD.File? DeserializeFile(string? path)
{
var deserializer = new WAD();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.WAD.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.WAD.DeserializeStream(stream);
}
}
}

View File

@@ -1,21 +0,0 @@
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Files
{
public partial class XZP : IFileSerializer<Models.XZP.File>
{
/// <inheritdoc cref="IFileSerializer.Deserialize(string?)"/>
public static Models.XZP.File? DeserializeFile(string? path)
{
var deserializer = new XZP();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.XZP.File? Deserialize(string? path)
{
using var stream = PathProcessor.OpenStream(path);
return Streams.XZP.DeserializeStream(stream);
}
}
}

View File

@@ -0,0 +1,16 @@
namespace SabreTools.Serialization.Interfaces
{
/// <summary>
/// Defines how to deserialize from files
/// </summary>
public interface IFileDeserializer<T>
{
/// <summary>
/// Deserialize a file into <typeparamref name="T"/>
/// </summary>
/// <typeparam name="T">Type of object to deserialize to</typeparam>
/// <param name="path">Path to deserialize from</param>
/// <returns>Filled object on success, null on error</returns>
T? Deserialize(string? path);
}
}

View File

@@ -1,18 +1,10 @@
namespace SabreTools.Serialization.Interfaces
{
/// <summary>
/// Defines how to serialize to and from files
/// Defines how to serialize to files
/// </summary>
public interface IFileSerializer<T>
{
/// <summary>
/// Deserialize a file into <typeparamref name="T"/>
/// </summary>
/// <typeparam name="T">Type of object to deserialize to</typeparam>
/// <param name="path">Path to deserialize from</param>
/// <returns>Filled object on success, null on error</returns>
T? Deserialize(string? path);
/// <summary>
/// Serialize a <typeparamref name="T"/> into a file
/// </summary>

View File

@@ -0,0 +1,16 @@
namespace SabreTools.Serialization.Interfaces
{
/// <summary>
/// Defines how to serialize from Streams
/// </summary>
public interface IStreamDeserializer<T>
{
/// <summary>
/// Deserialize a Stream into <typeparamref name="T"/>
/// </summary>
/// <typeparam name="T">Type of object to deserialize to</typeparam>
/// <param name="data">Stream to parse</param>
/// <returns>Filled object on success, null on error</returns>
T? Deserialize(System.IO.Stream? data);
}
}

View File

@@ -1,7 +1,7 @@
namespace SabreTools.Serialization.Interfaces
{
/// <summary>
/// Defines how to serialize to and from Streams
/// Defines how to serialize to Streams
/// </summary>
public interface IStreamSerializer<T>
{