Move static deserializers to base class

This commit is contained in:
Matt Nadareski
2024-04-04 01:17:41 -04:00
parent 006ced0430
commit cec53e907f
50 changed files with 138 additions and 973 deletions

View File

@@ -9,19 +9,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class AACS :
BaseBinaryDeserializer<MediaKeyBlock>,
IByteDeserializer<MediaKeyBlock>,
IFileDeserializer<MediaKeyBlock>,
IStreamDeserializer<MediaKeyBlock>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static MediaKeyBlock? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new AACS();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public MediaKeyBlock? Deserialize(byte[]? data, int offset)
{
@@ -42,13 +36,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static MediaKeyBlock? DeserializeFile(string? path)
{
var deserializer = new AACS();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public MediaKeyBlock? Deserialize(string? path)
{
@@ -60,13 +47,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static MediaKeyBlock? DeserializeStream(Stream? data)
{
var deserializer = new AACS();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public MediaKeyBlock? Deserialize(Stream? data)
{

View File

@@ -3,37 +3,6 @@ namespace SabreTools.Serialization.Deserializers
public class ArchiveDotOrg :
XmlFile<Models.ArchiveDotOrg.Files>
{
#region IByteDeserializer
/// <inheritdoc cref="Interfaces.IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.ArchiveDotOrg.Files? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new ArchiveDotOrg();
return deserializer.Deserialize(data, offset);
}
#endregion
#region IFileDeserializer
/// <inheritdoc cref="Interfaces.IFileDeserializer.Deserialize(string?)"/>
public static Models.ArchiveDotOrg.Files? DeserializeFile(string? path)
{
var deserializer = new ArchiveDotOrg();
return deserializer.Deserialize(path);
}
#endregion
#region IStreamDeserializer
/// <inheritdoc cref="Interfaces.IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.ArchiveDotOrg.Files? DeserializeStream(System.IO.Stream? data)
{
var deserializer = new ArchiveDotOrg();
return deserializer.Deserialize(data);
}
#endregion
// All logic taken care of in the base class
}
}

View File

@@ -9,6 +9,7 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class AttractMode :
BaseBinaryDeserializer<MetadataFile>,
IByteDeserializer<MetadataFile>,
IFileDeserializer<MetadataFile>,
IStreamDeserializer<MetadataFile>
@@ -23,13 +24,6 @@ namespace SabreTools.Serialization.Deserializers
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static MetadataFile? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new AttractMode();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public MetadataFile? Deserialize(byte[]? data, int offset)
{
@@ -50,13 +44,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static MetadataFile? DeserializeFile(string? path)
{
var deserializer = new AttractMode();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public MetadataFile? Deserialize(string? path)
{
@@ -68,13 +55,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static MetadataFile? DeserializeStream(Stream? data)
{
var deserializer = new AttractMode();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public MetadataFile? Deserialize(Stream? data)
{

View File

@@ -8,19 +8,13 @@ using static SabreTools.Models.BDPlus.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class BDPlus :
BaseBinaryDeserializer<SVM>,
IByteDeserializer<SVM>,
IFileDeserializer<SVM>,
IStreamDeserializer<SVM>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static SVM? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new BDPlus();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public SVM? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static SVM? DeserializeFile(string? path)
{
var deserializer = new BDPlus();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public SVM? Deserialize(string? path)
{
@@ -59,13 +46,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static SVM? DeserializeStream(Stream? data)
{
var deserializer = new BDPlus();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public SVM? Deserialize(Stream? data)
{

View File

@@ -8,19 +8,13 @@ using static SabreTools.Models.BFPK.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class BFPK :
BaseBinaryDeserializer<Archive>,
IByteDeserializer<Archive>,
IFileDeserializer<Archive>,
IStreamDeserializer<Archive>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Archive? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new BFPK();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Archive? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Archive? DeserializeFile(string? path)
{
var deserializer = new BFPK();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Archive? Deserialize(string? path)
{
@@ -59,13 +46,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Archive? DeserializeStream(Stream? data)
{
var deserializer = new BFPK();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Archive? Deserialize(Stream? data)
{

View File

@@ -9,19 +9,13 @@ using static SabreTools.Models.BSP.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class BSP :
BaseBinaryDeserializer<Models.BSP.File>,
IByteDeserializer<Models.BSP.File>,
IFileDeserializer<Models.BSP.File>,
IStreamDeserializer<Models.BSP.File>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.BSP.File? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new BSP();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Models.BSP.File? Deserialize(byte[]? data, int offset)
{
@@ -42,13 +36,6 @@ namespace SabreTools.Serialization.Deserializers
#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)
{
@@ -60,13 +47,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.BSP.File? DeserializeStream(Stream? data)
{
var deserializer = new BSP();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Models.BSP.File? Deserialize(Stream? data)
{

View File

@@ -0,0 +1,88 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
/// <summary>
/// Base class for all binary deserializers
/// </summary>
/// <typeparam name="TModel">Type of the model to deserialize</typeparam>
/// <remarks>These methods assume there is a concrete implementation of the deserialzier for the model available</remarks>
public abstract class BaseBinaryDeserializer<TModel>
{
#region Static Implementations
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static TModel? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = GetType<IByteDeserializer<TModel>>();
if (deserializer == null)
return default;
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static TModel? DeserializeFile(string? path)
{
var deserializer = GetType<IFileDeserializer<TModel>>();
if (deserializer == null)
return default;
return deserializer.Deserialize(path);
}
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static TModel? DeserializeStream(Stream? data)
{
var deserializer = GetType<IStreamDeserializer<TModel>>();
if (deserializer == null)
return default;
return deserializer.Deserialize(data);
}
#endregion
/// <summary>
/// Get a constructed instance of a type, if possible
/// </summary>
/// <typeparam name="TDeserializer">Deserializer type to construct</typeparam>
/// <returns>Deserializer of the requested type, null on error</returns>
private static TDeserializer? GetType<TDeserializer>()
{
var assembly = Assembly.GetExecutingAssembly();
if (assembly == null)
return default;
// If not all types can be loaded, use the ones that could be
List<Type> assemblyTypes = [];
try
{
assemblyTypes = assembly.GetTypes().ToList<Type>();
}
catch (ReflectionTypeLoadException rtle)
{
assemblyTypes = rtle.Types.Where(t => t != null)!.ToList<Type>();
}
// Loop through all types
foreach (Type type in assemblyTypes)
{
// If the type isn't a class or doesn't implement the interface
if (!type.IsClass || type.GetInterface(typeof(TDeserializer).Name) == null)
continue;
// Try to create a concrete instance of the type
var instance = (TDeserializer?)Activator.CreateInstance(type);
if (instance != null)
return instance;
}
return default;
}
}
}

View File

@@ -10,19 +10,13 @@ using static SabreTools.Models.CFB.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class CFB :
BaseBinaryDeserializer<Binary>,
IByteDeserializer<Binary>,
IFileDeserializer<Binary>,
IStreamDeserializer<Binary>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Binary? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new CFB();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Binary? Deserialize(byte[]? data, int offset)
{
@@ -43,13 +37,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Binary? DeserializeFile(string? path)
{
var deserializer = new CFB();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Binary? Deserialize(string? path)
{
@@ -61,13 +48,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Binary? DeserializeStream(Stream? data)
{
var deserializer = new CFB();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Binary? Deserialize(Stream? data)
{

View File

@@ -8,19 +8,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class CIA :
BaseBinaryDeserializer<Models.N3DS.CIA>,
IByteDeserializer<Models.N3DS.CIA>,
IFileDeserializer<Models.N3DS.CIA>,
IStreamDeserializer<Models.N3DS.CIA>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.N3DS.CIA? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new CIA();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Models.N3DS.CIA? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#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)
{
@@ -59,13 +46,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.N3DS.CIA? DeserializeStream(Stream? data)
{
var deserializer = new CIA();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Models.N3DS.CIA? Deserialize(Stream? data)
{

View File

@@ -8,13 +8,6 @@ namespace SabreTools.Serialization.Deserializers
{
#region IByteDeserializer
/// <inheritdoc cref="Interfaces.IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.Xbox.Catalog? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new Catalog();
return deserializer.Deserialize(data, offset);
}
/// <remarks>Catalog.js file is encoded as UTF-16 LE</remarks>
public override Models.Xbox.Catalog? Deserialize(byte[]? data, int offset)
=> Deserialize(data, offset, new UnicodeEncoding());
@@ -23,13 +16,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="Interfaces.IFileDeserializer.Deserialize(string?)"/>
public static Models.Xbox.Catalog? DeserializeFile(string? path)
{
var deserializer = new Catalog();
return deserializer.Deserialize(path);
}
/// <remarks>Catalog.js file is encoded as UTF-16 LE</remarks>
public override Models.Xbox.Catalog? Deserialize(string? path)
=> Deserialize(path, new UnicodeEncoding());
@@ -38,13 +24,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="Interfaces.IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.Xbox.Catalog? DeserializeStream(Stream? data)
{
var deserializer = new Catalog();
return deserializer.Deserialize(data);
}
/// <remarks>Catalog.js file is encoded as UTF-16 LE</remarks>
public override Models.Xbox.Catalog? Deserialize(Stream? data)
=> Deserialize(data, new UnicodeEncoding());

View File

@@ -9,6 +9,7 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class ClrMamePro :
BaseBinaryDeserializer<MetadataFile>,
IByteDeserializer<MetadataFile>,
IFileDeserializer<MetadataFile>,
IStreamDeserializer<MetadataFile>

View File

@@ -10,19 +10,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class CueSheet :
BaseBinaryDeserializer<Models.CueSheets.CueSheet>,
IByteDeserializer<Models.CueSheets.CueSheet>,
IFileDeserializer<Models.CueSheets.CueSheet>,
IStreamDeserializer<Models.CueSheets.CueSheet>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.CueSheets.CueSheet? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new CueSheet();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Models.CueSheets.CueSheet? Deserialize(byte[]? data, int offset)
{
@@ -43,13 +37,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Models.CueSheets.CueSheet? DeserializeFile(string? path)
{
var deserializer = new CueSheet();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Models.CueSheets.CueSheet? Deserialize(string? path)
{
@@ -61,13 +48,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.CueSheets.CueSheet? DeserializeStream(Stream? data)
{
var deserializer = new CueSheet();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Models.CueSheets.CueSheet? Deserialize(Stream? data)
{

View File

@@ -8,19 +8,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class DosCenter :
BaseBinaryDeserializer<MetadataFile>,
IByteDeserializer<MetadataFile>,
IFileDeserializer<MetadataFile>,
IStreamDeserializer<MetadataFile>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static MetadataFile? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new DosCenter();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public MetadataFile? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static MetadataFile? DeserializeFile(string? path)
{
var deserializer = new DosCenter();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public MetadataFile? Deserialize(string? path)
{
@@ -59,13 +46,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static MetadataFile? DeserializeStream(Stream? data)
{
var deserializer = new DosCenter();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public MetadataFile? Deserialize(Stream? data)
{

View File

@@ -9,19 +9,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class EverdriveSMDB :
BaseBinaryDeserializer<MetadataFile>,
IByteDeserializer<MetadataFile>,
IFileDeserializer<MetadataFile>,
IStreamDeserializer<MetadataFile>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static MetadataFile? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new EverdriveSMDB();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public MetadataFile? Deserialize(byte[]? data, int offset)
{
@@ -42,13 +36,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static MetadataFile? DeserializeFile(string? path)
{
var deserializer = new EverdriveSMDB();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public MetadataFile? Deserialize(string? path)
{
@@ -60,13 +47,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static MetadataFile? DeserializeStream(Stream? data)
{
var deserializer = new EverdriveSMDB();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public MetadataFile? Deserialize(Stream? data)
{

View File

@@ -8,19 +8,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class GCF :
BaseBinaryDeserializer<Models.GCF.File>,
IByteDeserializer<Models.GCF.File>,
IFileDeserializer<Models.GCF.File>,
IStreamDeserializer<Models.GCF.File>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.GCF.File? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new GCF();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Models.GCF.File? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#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)
{
@@ -59,13 +46,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.GCF.File? DeserializeStream(Stream? data)
{
var deserializer = new GCF();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Models.GCF.File? Deserialize(Stream? data)
{

View File

@@ -9,6 +9,7 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class Hashfile :
BaseBinaryDeserializer<Models.Hashfile.Hashfile>,
IByteDeserializer<Models.Hashfile.Hashfile>,
IFileDeserializer<Models.Hashfile.Hashfile>,
IStreamDeserializer<Models.Hashfile.Hashfile>

View File

@@ -6,19 +6,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class IRD :
BaseBinaryDeserializer<Models.IRD.File>,
IByteDeserializer<Models.IRD.File>,
IFileDeserializer<Models.IRD.File>,
IStreamDeserializer<Models.IRD.File>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.IRD.File? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new IRD();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Models.IRD.File? Deserialize(byte[]? data, int offset)
{
@@ -39,13 +33,6 @@ namespace SabreTools.Serialization.Deserializers
#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)
{
@@ -57,13 +44,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.IRD.File? DeserializeStream(Stream? data)
{
var deserializer = new IRD();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Models.IRD.File? Deserialize(Stream? data)
{

View File

@@ -10,19 +10,13 @@ namespace SabreTools.Serialization.Deserializers
{
// TODO: Add multi-cabinet reading
public class InstallShieldCabinet :
BaseBinaryDeserializer<Cabinet>,
IByteDeserializer<Cabinet>,
IFileDeserializer<Cabinet>,
IStreamDeserializer<Cabinet>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Cabinet? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new InstallShieldCabinet();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Cabinet? Deserialize(byte[]? data, int offset)
{
@@ -43,13 +37,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Cabinet? DeserializeFile(string? path)
{
var deserializer = new InstallShieldCabinet();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Cabinet? Deserialize(string? path)
{
@@ -61,13 +48,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Cabinet? DeserializeStream(Stream? data)
{
var deserializer = new InstallShieldCabinet();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Cabinet? Deserialize(Stream? data)
{

View File

@@ -10,6 +10,7 @@ namespace SabreTools.Serialization.Deserializers
/// </summary>
/// <typeparam name="T"></typeparam>
public class JsonFile<T> :
BaseBinaryDeserializer<T>,
IByteDeserializer<T>,
IFileDeserializer<T>,
IStreamDeserializer<T>

View File

@@ -9,19 +9,13 @@ using static SabreTools.Models.LinearExecutable.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class LinearExecutable :
BaseBinaryDeserializer<Executable>,
IByteDeserializer<Executable>,
IFileDeserializer<Executable>,
IStreamDeserializer<Executable>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Executable? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new LinearExecutable();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Executable? Deserialize(byte[]? data, int offset)
{
@@ -42,13 +36,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Executable? DeserializeFile(string? path)
{
var deserializer = new LinearExecutable();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Executable? Deserialize(string? path)
{
@@ -60,13 +47,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Executable? DeserializeStream(Stream? data)
{
var deserializer = new LinearExecutable();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Executable? Deserialize(Stream? data)
{

View File

@@ -8,19 +8,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class Listrom :
BaseBinaryDeserializer<MetadataFile>,
IByteDeserializer<MetadataFile>,
IFileDeserializer<MetadataFile>,
IStreamDeserializer<MetadataFile>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static MetadataFile? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new Listrom();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public MetadataFile? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static MetadataFile? DeserializeFile(string? path)
{
var deserializer = new Listrom();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public MetadataFile? Deserialize(string? path)
{
@@ -59,13 +46,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static MetadataFile? DeserializeStream(Stream? data)
{
var deserializer = new Listrom();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public MetadataFile? Deserialize(Stream? data)
{

View File

@@ -3,37 +3,6 @@ namespace SabreTools.Serialization.Deserializers
public class Listxml :
XmlFile<Models.Listxml.Mame>
{
#region IByteDeserializer
/// <inheritdoc cref="Interfaces.IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.Listxml.Mame? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new Listxml();
return deserializer.Deserialize(data, offset);
}
#endregion
#region IFileDeserializer
/// <inheritdoc cref="Interfaces.IFileDeserializer.Deserialize(string?)"/>
public static Models.Listxml.Mame? DeserializeFile(string? path)
{
var deserializer = new Listxml();
return deserializer.Deserialize(path);
}
#endregion
#region IStreamDeserializer
/// <inheritdoc cref="Interfaces.IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.Listxml.Mame? DeserializeStream(System.IO.Stream? data)
{
var deserializer = new Listxml();
return deserializer.Deserialize(data);
}
#endregion
// All logic taken care of in the base class
}
}

View File

@@ -3,37 +3,6 @@ namespace SabreTools.Serialization.Deserializers
public class Logiqx :
XmlFile<Models.Logiqx.Datafile>
{
#region IByteDeserializer
/// <inheritdoc cref="Interfaces.IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.Logiqx.Datafile? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new Logiqx();
return deserializer.Deserialize(data, offset);
}
#endregion
#region IFileDeserializer
/// <inheritdoc cref="Interfaces.IFileDeserializer.Deserialize(string?)"/>
public static Models.Logiqx.Datafile? DeserializeFile(string? path)
{
var deserializer = new Logiqx();
return deserializer.Deserialize(path);
}
#endregion
#region IStreamDeserializer
/// <inheritdoc cref="Interfaces.IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.Logiqx.Datafile? DeserializeStream(System.IO.Stream? data)
{
var deserializer = new Logiqx();
return deserializer.Deserialize(data);
}
#endregion
// All logic taken care of in the base class
}
}

View File

@@ -3,37 +3,6 @@ namespace SabreTools.Serialization.Deserializers
public class M1 :
XmlFile<Models.Listxml.M1>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.Listxml.M1? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new M1();
return deserializer.Deserialize(data, offset);
}
#endregion
#region IFileDeserializer
/// <inheritdoc cref="Interfaces.IFileDeserializer.Deserialize(string?)"/>
public static Models.Listxml.M1? DeserializeFile(string? path)
{
var deserializer = new M1();
return deserializer.Deserialize(path);
}
#endregion
#region IStreamDeserializer
/// <inheritdoc cref="Interfaces.IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.Listxml.M1? DeserializeStream(System.IO.Stream? data)
{
var deserializer = new M1();
return deserializer.Deserialize(data);
}
#endregion
// All logic taken care of in the base class
}
}

View File

@@ -8,19 +8,13 @@ using static SabreTools.Models.MSDOS.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class MSDOS :
BaseBinaryDeserializer<Executable>,
IByteDeserializer<Executable>,
IFileDeserializer<Executable>,
IStreamDeserializer<Executable>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Executable? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new MSDOS();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Executable? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Executable? DeserializeFile(string? path)
{
var deserializer = new MSDOS();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Executable? Deserialize(string? path)
{
@@ -59,13 +46,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Executable? DeserializeStream(Stream? data)
{
var deserializer = new MSDOS();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Executable? Deserialize(Stream? data)
{

View File

@@ -9,19 +9,13 @@ namespace SabreTools.Serialization.Deserializers
{
// TODO: Add multi-cabinet reading
public class MicrosoftCabinet :
BaseBinaryDeserializer<Cabinet>,
IByteDeserializer<Cabinet>,
IFileDeserializer<Cabinet>,
IStreamDeserializer<Cabinet>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Cabinet? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new MicrosoftCabinet();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Cabinet? Deserialize(byte[]? data, int offset)
{
@@ -42,13 +36,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Cabinet? DeserializeFile(string? path)
{
var deserializer = new MicrosoftCabinet();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Cabinet? Deserialize(string? path)
{
@@ -60,13 +47,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Cabinet? DeserializeStream(Stream? data)
{
var deserializer = new MicrosoftCabinet();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Cabinet? Deserialize(Stream? data)
{

View File

@@ -10,19 +10,13 @@ using static SabreTools.Models.MoPaQ.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class MoPaQ :
BaseBinaryDeserializer<Archive>,
IByteDeserializer<Archive>,
IFileDeserializer<Archive>,
IStreamDeserializer<Archive>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Archive? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new MoPaQ();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Archive? Deserialize(byte[]? data, int offset)
{
@@ -43,13 +37,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Archive? DeserializeFile(string? path)
{
var deserializer = new MoPaQ();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Archive? Deserialize(string? path)
{
@@ -61,13 +48,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Archive? DeserializeStream(Stream? data)
{
var deserializer = new MoPaQ();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Archive? Deserialize(Stream? data)
{

View File

@@ -9,19 +9,13 @@ using static SabreTools.Models.N3DS.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class N3DS :
BaseBinaryDeserializer<Cart>,
IByteDeserializer<Cart>,
IFileDeserializer<Cart>,
IStreamDeserializer<Cart>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Cart? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new N3DS();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Cart? Deserialize(byte[]? data, int offset)
{
@@ -42,13 +36,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Cart? DeserializeFile(string? path)
{
var deserializer = new N3DS();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Cart? Deserialize(string? path)
{
@@ -60,13 +47,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Cart? DeserializeStream(Stream? data)
{
var deserializer = new N3DS();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Cart? Deserialize(Stream? data)
{

View File

@@ -8,19 +8,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class NCF :
BaseBinaryDeserializer<Models.NCF.File>,
IByteDeserializer<Models.NCF.File>,
IFileDeserializer<Models.NCF.File>,
IStreamDeserializer<Models.NCF.File>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.NCF.File? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new NCF();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Models.NCF.File? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#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)
{
@@ -59,13 +46,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.NCF.File? DeserializeStream(Stream? data)
{
var deserializer = new NCF();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Models.NCF.File? Deserialize(Stream? data)
{

View File

@@ -10,19 +10,13 @@ using static SabreTools.Models.NewExecutable.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class NewExecutable :
BaseBinaryDeserializer<Executable>,
IByteDeserializer<Executable>,
IFileDeserializer<Executable>,
IStreamDeserializer<Executable>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Executable? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new NewExecutable();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Executable? Deserialize(byte[]? data, int offset)
{
@@ -43,13 +37,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Executable? DeserializeFile(string? path)
{
var deserializer = new NewExecutable();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Executable? Deserialize(string? path)
{
@@ -61,13 +48,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Executable? DeserializeStream(Stream? data)
{
var deserializer = new NewExecutable();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Executable? Deserialize(Stream? data)
{

View File

@@ -8,19 +8,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class Nitro :
BaseBinaryDeserializer<Cart>,
IByteDeserializer<Cart>,
IFileDeserializer<Cart>,
IStreamDeserializer<Cart>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Cart? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new Nitro();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Cart? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Cart? DeserializeFile(string? path)
{
var deserializer = new Nitro();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Cart? Deserialize(string? path)
{
@@ -59,13 +46,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Cart? DeserializeStream(Stream? data)
{
var deserializer = new Nitro();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Cart? Deserialize(Stream? data)
{

View File

@@ -3,37 +3,6 @@ namespace SabreTools.Serialization.Deserializers
public class OfflineList :
XmlFile<Models.OfflineList.Dat>
{
#region IByteDeserializer
/// <inheritdoc cref="Interfaces.IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.OfflineList.Dat? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new OfflineList();
return deserializer.Deserialize(data, offset);
}
#endregion
#region IFileDeserializer
/// <inheritdoc cref="Interfaces.IFileDeserializer.Deserialize(string?)"/>
public static Models.OfflineList.Dat? DeserializeFile(string? path)
{
var deserializer = new OfflineList();
return deserializer.Deserialize(path);
}
#endregion
#region IStreamDeserializer
/// <inheritdoc cref="Interfaces.IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.OfflineList.Dat? DeserializeStream(System.IO.Stream? data)
{
var deserializer = new OfflineList();
return deserializer.Deserialize(data);
}
#endregion
// All logic taken care of in the base class
}
}

View File

@@ -3,37 +3,6 @@ namespace SabreTools.Serialization.Deserializers
public class OpenMSX :
XmlFile<Models.OpenMSX.SoftwareDb>
{
#region IByteDeserializer
/// <inheritdoc cref="Interfaces.IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.OpenMSX.SoftwareDb? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new OpenMSX();
return deserializer.Deserialize(data, offset);
}
#endregion
#region IFileDeserializer
/// <inheritdoc cref="Interfaces.IFileDeserializer.Deserialize(string?)"/>
public static Models.OpenMSX.SoftwareDb? DeserializeFile(string? path)
{
var deserializer = new OpenMSX();
return deserializer.Deserialize(path);
}
#endregion
#region IStreamDeserializer
/// <inheritdoc cref="Interfaces.IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.OpenMSX.SoftwareDb? DeserializeStream(System.IO.Stream? data)
{
var deserializer = new OpenMSX();
return deserializer.Deserialize(data);
}
#endregion
// All logic taken care of in the base class
}
}

View File

@@ -8,19 +8,13 @@ using static SabreTools.Models.PAK.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class PAK :
BaseBinaryDeserializer<Models.PAK.File>,
IByteDeserializer<Models.PAK.File>,
IFileDeserializer<Models.PAK.File>,
IStreamDeserializer<Models.PAK.File>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.PAK.File? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new PAK();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Models.PAK.File? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#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)
{
@@ -59,13 +46,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.PAK.File? DeserializeStream(Stream? data)
{
var deserializer = new PAK();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Models.PAK.File? Deserialize(Stream? data)
{

View File

@@ -8,19 +8,13 @@ using static SabreTools.Models.PFF.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class PFF :
BaseBinaryDeserializer<Archive>,
IByteDeserializer<Archive>,
IFileDeserializer<Archive>,
IStreamDeserializer<Archive>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Archive? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new PFF();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Archive? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Archive? DeserializeFile(string? path)
{
var deserializer = new PFF();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Archive? Deserialize(string? path)
{
@@ -59,13 +46,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Archive? DeserializeStream(Stream? data)
{
var deserializer = new PFF();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Archive? Deserialize(Stream? data)
{

View File

@@ -9,19 +9,13 @@ using static SabreTools.Models.PIC.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class PIC :
BaseBinaryDeserializer<DiscInformation>,
IByteDeserializer<DiscInformation>,
IFileDeserializer<DiscInformation>,
IStreamDeserializer<DiscInformation>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static DiscInformation? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new PIC();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public DiscInformation? Deserialize(byte[]? data, int offset)
{
@@ -42,13 +36,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static DiscInformation? DeserializeFile(string? path)
{
var deserializer = new PIC();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public DiscInformation? Deserialize(string? path)
{
@@ -60,13 +47,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static DiscInformation? DeserializeStream(Stream? data)
{
var deserializer = new PIC();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public DiscInformation? Deserialize(Stream? data)
{

View File

@@ -8,19 +8,13 @@ using static SabreTools.Models.PlayJ.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class PlayJAudio :
BaseBinaryDeserializer<AudioFile>,
IByteDeserializer<AudioFile>,
IFileDeserializer<AudioFile>,
IStreamDeserializer<AudioFile>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static AudioFile? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new PlayJAudio();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public AudioFile? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static AudioFile? DeserializeFile(string? path)
{
var deserializer = new PlayJAudio();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public AudioFile? Deserialize(string? path)
{

View File

@@ -6,19 +6,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class PlayJPlaylist :
BaseBinaryDeserializer<Playlist>,
IByteDeserializer<Playlist>,
IFileDeserializer<Playlist>,
IStreamDeserializer<Playlist>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Playlist? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new PlayJPlaylist();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Playlist? Deserialize(byte[]? data, int offset)
{
@@ -39,13 +33,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Playlist? DeserializeFile(string? path)
{
var deserializer = new PlayJPlaylist();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Playlist? Deserialize(string? path)
{
@@ -57,13 +44,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Playlist? DeserializeStream(Stream? data)
{
var deserializer = new PlayJPlaylist();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Playlist? Deserialize(Stream? data)
{

View File

@@ -11,19 +11,13 @@ using static SabreTools.Models.PortableExecutable.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class PortableExecutable :
BaseBinaryDeserializer<Executable>,
IByteDeserializer<Executable>,
IFileDeserializer<Executable>,
IStreamDeserializer<Executable>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Executable? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new PortableExecutable();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Executable? Deserialize(byte[]? data, int offset)
{
@@ -44,13 +38,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Executable? DeserializeFile(string? path)
{
var deserializer = new PortableExecutable();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Executable? Deserialize(string? path)
{
@@ -62,13 +49,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Executable? DeserializeStream(Stream? data)
{
var deserializer = new PortableExecutable();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Executable? Deserialize(Stream? data)
{

View File

@@ -8,19 +8,13 @@ using static SabreTools.Models.Quantum.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class Quantum :
BaseBinaryDeserializer<Archive>,
IByteDeserializer<Archive>,
IFileDeserializer<Archive>,
IStreamDeserializer<Archive>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Archive? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new Quantum();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Archive? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static Archive? DeserializeFile(string? path)
{
var deserializer = new Quantum();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public Archive? Deserialize(string? path)
{
@@ -59,13 +46,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Archive? DeserializeStream(Stream? data)
{
var deserializer = new Quantum();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Archive? Deserialize(Stream? data)
{

View File

@@ -9,19 +9,13 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class RomCenter :
BaseBinaryDeserializer<MetadataFile>,
IByteDeserializer<MetadataFile>,
IFileDeserializer<MetadataFile>,
IStreamDeserializer<MetadataFile>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static MetadataFile? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new RomCenter();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public MetadataFile? Deserialize(byte[]? data, int offset)
{
@@ -42,13 +36,6 @@ namespace SabreTools.Serialization.Deserializers
#region IFileDeserializer
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
public static MetadataFile? DeserializeFile(string? path)
{
var deserializer = new RomCenter();
return deserializer.Deserialize(path);
}
/// <inheritdoc/>
public MetadataFile? Deserialize(string? path)
{
@@ -60,13 +47,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static MetadataFile? DeserializeStream(Stream? data)
{
var deserializer = new RomCenter();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public MetadataFile? Deserialize(Stream? data)
{

View File

@@ -9,19 +9,13 @@ using static SabreTools.Models.SGA.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class SGA :
BaseBinaryDeserializer<Models.SGA.File>,
IByteDeserializer<Models.SGA.File>,
IFileDeserializer<Models.SGA.File>,
IStreamDeserializer<Models.SGA.File>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.SGA.File? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new SGA();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Models.SGA.File? Deserialize(byte[]? data, int offset)
{
@@ -42,13 +36,6 @@ namespace SabreTools.Serialization.Deserializers
#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)
{
@@ -60,13 +47,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.SGA.File? DeserializeStream(Stream? data)
{
var deserializer = new SGA();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Models.SGA.File? Deserialize(Stream? data)
{

View File

@@ -9,6 +9,7 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class SeparatedValue :
BaseBinaryDeserializer<MetadataFile>,
IByteDeserializer<MetadataFile>,
IFileDeserializer<MetadataFile>,
IStreamDeserializer<MetadataFile>

View File

@@ -3,37 +3,6 @@ namespace SabreTools.Serialization.Deserializers
public class SoftwareList :
XmlFile<Models.SoftwareList.SoftwareList>
{
#region IByteDeserializer
/// <inheritdoc cref="Interfaces.IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.SoftwareList.SoftwareList? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new SoftwareList();
return deserializer.Deserialize(data, offset);
}
#endregion
#region IFileDeserializer
/// <inheritdoc cref="Interfaces.IFileDeserializer.Deserialize(string?)"/>
public static Models.SoftwareList.SoftwareList? DeserializeFile(string? path)
{
var deserializer = new SoftwareList();
return deserializer.Deserialize(path);
}
#endregion
#region IStreamDeserializer
/// <inheritdoc cref="Interfaces.IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.SoftwareList.SoftwareList? DeserializeStream(System.IO.Stream? data)
{
var deserializer = new SoftwareList();
return deserializer.Deserialize(data);
}
#endregion
// All logic taken care of in the base class
}
}

View File

@@ -8,19 +8,13 @@ using static SabreTools.Models.VBSP.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class VBSP :
BaseBinaryDeserializer<Models.VBSP.File>,
IByteDeserializer<Models.VBSP.File>,
IFileDeserializer<Models.VBSP.File>,
IStreamDeserializer<Models.VBSP.File>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.VBSP.File? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new VBSP();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Models.VBSP.File? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#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)
{
@@ -59,13 +46,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.VBSP.File? DeserializeStream(Stream? data)
{
var deserializer = new VBSP();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Models.VBSP.File? Deserialize(Stream? data)
{

View File

@@ -9,19 +9,13 @@ using static SabreTools.Models.VPK.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class VPK :
BaseBinaryDeserializer<Models.VPK.File>,
IByteDeserializer<Models.VPK.File>,
IFileDeserializer<Models.VPK.File>,
IStreamDeserializer<Models.VPK.File>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.VPK.File? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new VPK();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Models.VPK.File? Deserialize(byte[]? data, int offset)
{
@@ -42,13 +36,6 @@ namespace SabreTools.Serialization.Deserializers
#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)
{
@@ -60,13 +47,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.VPK.File? DeserializeStream(Stream? data)
{
var deserializer = new VPK();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Models.VPK.File? Deserialize(Stream? data)
{

View File

@@ -8,19 +8,13 @@ using static SabreTools.Models.WAD.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class WAD :
BaseBinaryDeserializer<Models.WAD.File>,
IByteDeserializer<Models.WAD.File>,
IFileDeserializer<Models.WAD.File>,
IStreamDeserializer<Models.WAD.File>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.WAD.File? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new WAD();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Models.WAD.File? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#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)
{
@@ -59,13 +46,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.WAD.File? DeserializeStream(Stream? data)
{
var deserializer = new WAD();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Models.WAD.File? Deserialize(Stream? data)
{

View File

@@ -8,19 +8,13 @@ using static SabreTools.Models.XZP.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class XZP :
BaseBinaryDeserializer<Models.XZP.File>,
IByteDeserializer<Models.XZP.File>,
IFileDeserializer<Models.XZP.File>,
IStreamDeserializer<Models.XZP.File>
{
#region IByteDeserializer
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
public static Models.XZP.File? DeserializeBytes(byte[]? data, int offset)
{
var deserializer = new XZP();
return deserializer.Deserialize(data, offset);
}
/// <inheritdoc/>
public Models.XZP.File? Deserialize(byte[]? data, int offset)
{
@@ -41,13 +35,6 @@ namespace SabreTools.Serialization.Deserializers
#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)
{
@@ -59,13 +46,6 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static Models.XZP.File? DeserializeStream(Stream? data)
{
var deserializer = new XZP();
return deserializer.Deserialize(data);
}
/// <inheritdoc/>
public Models.XZP.File? Deserialize(Stream? data)
{

View File

@@ -11,6 +11,7 @@ namespace SabreTools.Serialization.Deserializers
/// </summary>
/// <typeparam name="T"></typeparam>
public class XmlFile<T> :
BaseBinaryDeserializer<T>,
IByteDeserializer<T>,
IFileDeserializer<T>,
IStreamDeserializer<T>

View File

@@ -1,4 +1,5 @@
using SabreTools.Serialization;
using SabreTools.Serialization.Deserializers;
namespace Test
{
@@ -6,6 +7,8 @@ namespace Test
{
public static void Main(string[] args)
{
string path = "R:\\BurnOutSharp Testing Files\\FileType\\AACS Media Key Block\\1 (HD-DVD)\\MKBROM.AACS";
var obj = AACS.DeserializeFile(path);
// DO NOTHING FOR NOW
}
}