Enforce IStreamDeserializer in base class

This commit is contained in:
Matt Nadareski
2024-04-04 01:55:05 -04:00
parent ef0efe66bd
commit bc01ce4552
50 changed files with 99 additions and 357 deletions

View File

@@ -4,18 +4,13 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.AACS;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class AACS :
BaseBinaryDeserializer<MediaKeyBlock>,
IStreamDeserializer<MediaKeyBlock>
public class AACS : BaseBinaryDeserializer<MediaKeyBlock>
{
#region IStreamDeserializer
/// <inheritdoc/>
public MediaKeyBlock? Deserialize(Stream? data)
public override MediaKeyBlock? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -443,7 +438,5 @@ namespace SabreTools.Serialization.Deserializers
return record;
}
#endregion
}
}

View File

@@ -1,7 +1,6 @@
namespace SabreTools.Serialization.Deserializers
{
public class ArchiveDotOrg :
XmlFile<Models.ArchiveDotOrg.Files>
public class ArchiveDotOrg : XmlFile<Models.ArchiveDotOrg.Files>
{
// All logic taken care of in the base class
}

View File

@@ -4,13 +4,10 @@ using System.Linq;
using System.Text;
using SabreTools.IO.Readers;
using SabreTools.Models.AttractMode;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class AttractMode :
BaseBinaryDeserializer<MetadataFile>,
IStreamDeserializer<MetadataFile>
public class AttractMode : BaseBinaryDeserializer<MetadataFile>
{
#region Constants
@@ -23,7 +20,7 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc/>
public MetadataFile? Deserialize(Stream? data)
public override MetadataFile? Deserialize(Stream? data)
{
// If the stream is null
if (data == null)

View File

@@ -2,19 +2,14 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.BDPlus;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.BDPlus.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class BDPlus :
BaseBinaryDeserializer<SVM>,
IStreamDeserializer<SVM>
public class BDPlus : BaseBinaryDeserializer<SVM>
{
#region IStreamDeserializer
/// <inheritdoc/>
public SVM? Deserialize(Stream? data)
public override SVM? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -66,7 +61,5 @@ namespace SabreTools.Serialization.Deserializers
return svm;
}
#endregion
}
}

View File

@@ -2,19 +2,14 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.BFPK;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.BFPK.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class BFPK :
BaseBinaryDeserializer<Archive>,
IStreamDeserializer<Archive>
public class BFPK : BaseBinaryDeserializer<Archive>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Archive? Deserialize(Stream? data)
public override Archive? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -122,7 +117,5 @@ namespace SabreTools.Serialization.Deserializers
return fileEntry;
}
#endregion
}
}

View File

@@ -3,19 +3,14 @@ using System.Linq;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.BSP;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.BSP.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class BSP :
BaseBinaryDeserializer<Models.BSP.File>,
IStreamDeserializer<Models.BSP.File>
public class BSP : BaseBinaryDeserializer<Models.BSP.File>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Models.BSP.File? Deserialize(Stream? data)
public override Models.BSP.File? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -221,7 +216,5 @@ namespace SabreTools.Serialization.Deserializers
return texture;
}
#endregion
}
}

View File

@@ -14,7 +14,8 @@ namespace SabreTools.Serialization.Deserializers
/// <remarks>These methods assume there is a concrete implementation of the deserialzier for the model available</remarks>
public abstract class BaseBinaryDeserializer<TModel> :
IByteDeserializer<TModel>,
IFileDeserializer<TModel>
IFileDeserializer<TModel>,
IStreamDeserializer<TModel>
{
#region IByteDeserializer
@@ -47,6 +48,13 @@ namespace SabreTools.Serialization.Deserializers
#endregion
#region IStreamDeserializer
/// <inheritdoc/>
public abstract TModel? Deserialize(Stream? data);
#endregion
#region Static Implementations
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>

View File

@@ -4,19 +4,14 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.CFB;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.CFB.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class CFB :
BaseBinaryDeserializer<Binary>,
IStreamDeserializer<Binary>
public class CFB : BaseBinaryDeserializer<Binary>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Binary? Deserialize(Stream? data)
public override Binary? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -365,7 +360,5 @@ namespace SabreTools.Serialization.Deserializers
return directoryEntry;
}
#endregion
}
}

View File

@@ -3,18 +3,13 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.N3DS;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class CIA :
BaseBinaryDeserializer<Models.N3DS.CIA>,
IStreamDeserializer<Models.N3DS.CIA>
public class CIA : BaseBinaryDeserializer<Models.N3DS.CIA>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Models.N3DS.CIA? Deserialize(Stream? data)
public override Models.N3DS.CIA? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -504,7 +499,5 @@ namespace SabreTools.Serialization.Deserializers
return metaData;
}
#endregion
}
}

View File

@@ -3,8 +3,7 @@ using System.Text;
namespace SabreTools.Serialization.Deserializers
{
public class Catalog :
JsonFile<Models.Xbox.Catalog>
public class Catalog : JsonFile<Models.Xbox.Catalog>
{
#region IByteDeserializer

View File

@@ -4,13 +4,10 @@ using System.IO;
using System.Text;
using SabreTools.IO.Readers;
using SabreTools.Models.ClrMamePro;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class ClrMamePro :
BaseBinaryDeserializer<MetadataFile>,
IStreamDeserializer<MetadataFile>
public class ClrMamePro : BaseBinaryDeserializer<MetadataFile>
{
#region IByteDeserializer
@@ -75,7 +72,7 @@ namespace SabreTools.Serialization.Deserializers
}
/// <inheritdoc/>
public MetadataFile? Deserialize(Stream? data)
public override MetadataFile? Deserialize(Stream? data)
=> Deserialize(data, true);
/// <inheritdoc cref="Deserialize(Stream)"/>

View File

@@ -5,18 +5,13 @@ using System.Linq;
using System.Text.RegularExpressions;
using SabreTools.IO;
using SabreTools.Models.CueSheets;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class CueSheet :
BaseBinaryDeserializer<Models.CueSheets.CueSheet>,
IStreamDeserializer<Models.CueSheets.CueSheet>
public class CueSheet : BaseBinaryDeserializer<Models.CueSheets.CueSheet>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Models.CueSheets.CueSheet? Deserialize(Stream? data)
public override Models.CueSheets.CueSheet? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -594,7 +589,5 @@ namespace SabreTools.Serialization.Deserializers
}
#endregion
#endregion
}
}

View File

@@ -3,18 +3,13 @@ using System.IO;
using System.Text;
using SabreTools.IO.Readers;
using SabreTools.Models.DosCenter;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class DosCenter :
BaseBinaryDeserializer<MetadataFile>,
IStreamDeserializer<MetadataFile>
public class DosCenter : BaseBinaryDeserializer<MetadataFile>
{
#region IStreamDeserializer
/// <inheritdoc/>
public MetadataFile? Deserialize(Stream? data)
public override MetadataFile? Deserialize(Stream? data)
{
// If the stream is null
if (data == null)
@@ -215,7 +210,5 @@ namespace SabreTools.Serialization.Deserializers
file.ADDITIONAL_ELEMENTS = itemAdditional.ToArray();
return file;
}
#endregion
}
}

View File

@@ -4,18 +4,13 @@ using System.Linq;
using System.Text;
using SabreTools.IO.Readers;
using SabreTools.Models.EverdriveSMDB;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class EverdriveSMDB :
BaseBinaryDeserializer<MetadataFile>,
IStreamDeserializer<MetadataFile>
public class EverdriveSMDB : BaseBinaryDeserializer<MetadataFile>
{
#region IStreamDeserializer
/// <inheritdoc/>
public MetadataFile? Deserialize(Stream? data)
public override MetadataFile? Deserialize(Stream? data)
{
// If the stream is null
if (data == null)
@@ -63,7 +58,5 @@ namespace SabreTools.Serialization.Deserializers
dat.Row = rows.ToArray();
return dat;
}
#endregion
}
}

View File

@@ -3,18 +3,13 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.GCF;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class GCF :
BaseBinaryDeserializer<Models.GCF.File>,
IStreamDeserializer<Models.GCF.File>
public class GCF : BaseBinaryDeserializer<Models.GCF.File>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Models.GCF.File? Deserialize(Stream? data)
public override Models.GCF.File? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -744,7 +739,5 @@ namespace SabreTools.Serialization.Deserializers
return dataBlockHeader;
}
#endregion
}
}

View File

@@ -4,14 +4,11 @@ using System.IO;
using System.Linq;
using SabreTools.Hashing;
using SabreTools.Models.Hashfile;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class Hashfile :
BaseBinaryDeserializer<Models.Hashfile.Hashfile>,
IFileDeserializer<Models.Hashfile.Hashfile>,
IStreamDeserializer<Models.Hashfile.Hashfile>
// TODO: Create variants for the implemented types
public class Hashfile : BaseBinaryDeserializer<Models.Hashfile.Hashfile>
{
#region IByteDeserializer
@@ -76,7 +73,7 @@ namespace SabreTools.Serialization.Deserializers
}
/// <inheritdoc/>
public Models.Hashfile.Hashfile? Deserialize(Stream? data)
public override Models.Hashfile.Hashfile? Deserialize(Stream? data)
=> Deserialize(data, HashType.CRC32);
/// <inheritdoc cref="Deserialize(Stream)"/>

View File

@@ -1,18 +1,13 @@
using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class IRD :
BaseBinaryDeserializer<Models.IRD.File>,
IStreamDeserializer<Models.IRD.File>
public class IRD : BaseBinaryDeserializer<Models.IRD.File>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Models.IRD.File? Deserialize(Stream? data)
public override Models.IRD.File? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -114,7 +109,5 @@ namespace SabreTools.Serialization.Deserializers
return ird;
}
#endregion
}
}

View File

@@ -3,20 +3,15 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.InstallShieldCabinet;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.InstallShieldCabinet.Constants;
namespace SabreTools.Serialization.Deserializers
{
// TODO: Add multi-cabinet reading
public class InstallShieldCabinet :
BaseBinaryDeserializer<Cabinet>,
IStreamDeserializer<Cabinet>
public class InstallShieldCabinet : BaseBinaryDeserializer<Cabinet>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Cabinet? Deserialize(Stream? data)
public override Cabinet? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -780,7 +775,5 @@ namespace SabreTools.Serialization.Deserializers
}
#endregion
#endregion
}
}

View File

@@ -1,7 +1,6 @@
using System.IO;
using System.Text;
using Newtonsoft.Json;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
@@ -9,9 +8,7 @@ namespace SabreTools.Serialization.Deserializers
/// Base class for other JSON serializers
/// </summary>
/// <typeparam name="T"></typeparam>
public class JsonFile<T> :
BaseBinaryDeserializer<T>,
IStreamDeserializer<T>
public class JsonFile<T> : BaseBinaryDeserializer<T>
{
#region IByteDeserializer
@@ -68,7 +65,7 @@ namespace SabreTools.Serialization.Deserializers
#region IStreamDeserializer
/// <inheritdoc/>
public virtual T? Deserialize(Stream? data)
public override T? Deserialize(Stream? data)
=> Deserialize(data, new UTF8Encoding(false));
/// <summary>

View File

@@ -3,19 +3,14 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.LinearExecutable;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.LinearExecutable.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class LinearExecutable :
BaseBinaryDeserializer<Executable>,
IStreamDeserializer<Executable>
public class LinearExecutable : BaseBinaryDeserializer<Executable>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Executable? Deserialize(Stream? data)
public override Executable? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -1006,7 +1001,5 @@ namespace SabreTools.Serialization.Deserializers
return debugInformation;
}
#endregion
}
}

View File

@@ -3,18 +3,13 @@ using System.Collections.Generic;
using System.IO;
using System.Text;
using SabreTools.Models.Listrom;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class Listrom :
BaseBinaryDeserializer<MetadataFile>,
IStreamDeserializer<MetadataFile>
public class Listrom : BaseBinaryDeserializer<MetadataFile>
{
#region IStreamDeserializer
/// <inheritdoc/>
public MetadataFile? Deserialize(Stream? data)
public override MetadataFile? Deserialize(Stream? data)
{
// If the stream is null
if (data == null)
@@ -242,7 +237,5 @@ namespace SabreTools.Serialization.Deserializers
dat.ADDITIONAL_ELEMENTS = additional.ToArray();
return dat;
}
#endregion
}
}

View File

@@ -1,7 +1,6 @@
namespace SabreTools.Serialization.Deserializers
{
public class Listxml :
XmlFile<Models.Listxml.Mame>
public class Listxml : XmlFile<Models.Listxml.Mame>
{
// All logic taken care of in the base class
}

View File

@@ -1,7 +1,6 @@
namespace SabreTools.Serialization.Deserializers
{
public class Logiqx :
XmlFile<Models.Logiqx.Datafile>
public class Logiqx : XmlFile<Models.Logiqx.Datafile>
{
// All logic taken care of in the base class
}

View File

@@ -1,7 +1,6 @@
namespace SabreTools.Serialization.Deserializers
{
public class M1 :
XmlFile<Models.Listxml.M1>
public class M1 : XmlFile<Models.Listxml.M1>
{
// All logic taken care of in the base class
}

View File

@@ -2,19 +2,14 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.MSDOS;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.MSDOS.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class MSDOS :
BaseBinaryDeserializer<Executable>,
IStreamDeserializer<Executable>
public class MSDOS : BaseBinaryDeserializer<Executable>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Executable? Deserialize(Stream? data)
public override Executable? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -146,7 +141,5 @@ namespace SabreTools.Serialization.Deserializers
return relocationTable;
}
#endregion
}
}

View File

@@ -2,20 +2,15 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.MicrosoftCabinet;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.MicrosoftCabinet.Constants;
namespace SabreTools.Serialization.Deserializers
{
// TODO: Add multi-cabinet reading
public class MicrosoftCabinet :
BaseBinaryDeserializer<Cabinet>,
IStreamDeserializer<Cabinet>
public class MicrosoftCabinet : BaseBinaryDeserializer<Cabinet>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Cabinet? Deserialize(Stream? data)
public override Cabinet? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -245,7 +240,5 @@ namespace SabreTools.Serialization.Deserializers
return file;
}
#endregion
}
}

View File

@@ -4,19 +4,14 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.MoPaQ;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.MoPaQ.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class MoPaQ :
BaseBinaryDeserializer<Archive>,
IStreamDeserializer<Archive>
public class MoPaQ : BaseBinaryDeserializer<Archive>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Archive? Deserialize(Stream? data)
public override Archive? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -632,7 +627,5 @@ namespace SabreTools.Serialization.Deserializers
}
#endregion
#endregion
}
}

View File

@@ -3,19 +3,14 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.N3DS;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.N3DS.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class N3DS :
BaseBinaryDeserializer<Cart>,
IStreamDeserializer<Cart>
public class N3DS : BaseBinaryDeserializer<Cart>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Cart? Deserialize(Stream? data)
public override Cart? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -712,7 +707,5 @@ namespace SabreTools.Serialization.Deserializers
return romFSHeader;
}
#endregion
}
}

View File

@@ -3,18 +3,13 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.NCF;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class NCF :
BaseBinaryDeserializer<Models.NCF.File>,
IStreamDeserializer<Models.NCF.File>
public class NCF : BaseBinaryDeserializer<Models.NCF.File>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Models.NCF.File? Deserialize(Stream? data)
public override Models.NCF.File? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -513,7 +508,5 @@ namespace SabreTools.Serialization.Deserializers
return checksumEntry;
}
#endregion
}
}

View File

@@ -4,19 +4,14 @@ using System.Linq;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.NewExecutable;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.NewExecutable.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class NewExecutable :
BaseBinaryDeserializer<Executable>,
IStreamDeserializer<Executable>
public class NewExecutable : BaseBinaryDeserializer<Executable>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Executable? Deserialize(Stream? data)
public override Executable? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -481,7 +476,5 @@ namespace SabreTools.Serialization.Deserializers
return [.. residentNameTable];
}
#endregion
}
}

View File

@@ -3,18 +3,13 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.Nitro;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class Nitro :
BaseBinaryDeserializer<Cart>,
IStreamDeserializer<Cart>
public class Nitro : BaseBinaryDeserializer<Cart>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Cart? Deserialize(Stream? data)
public override Cart? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -364,7 +359,5 @@ namespace SabreTools.Serialization.Deserializers
return entry;
}
#endregion
}
}

View File

@@ -1,7 +1,6 @@
namespace SabreTools.Serialization.Deserializers
{
public class OfflineList :
XmlFile<Models.OfflineList.Dat>
public class OfflineList : XmlFile<Models.OfflineList.Dat>
{
// All logic taken care of in the base class
}

View File

@@ -1,7 +1,6 @@
namespace SabreTools.Serialization.Deserializers
{
public class OpenMSX :
XmlFile<Models.OpenMSX.SoftwareDb>
public class OpenMSX : XmlFile<Models.OpenMSX.SoftwareDb>
{
// All logic taken care of in the base class
}

View File

@@ -2,19 +2,14 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.PAK;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.PAK.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class PAK :
BaseBinaryDeserializer<Models.PAK.File>,
IStreamDeserializer<Models.PAK.File>
public class PAK : BaseBinaryDeserializer<Models.PAK.File>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Models.PAK.File? Deserialize(Stream? data)
public override Models.PAK.File? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -109,7 +104,5 @@ namespace SabreTools.Serialization.Deserializers
return directoryItem;
}
#endregion
}
}

View File

@@ -2,19 +2,14 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.PFF;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.PFF.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class PFF :
BaseBinaryDeserializer<Archive>,
IStreamDeserializer<Archive>
public class PFF : BaseBinaryDeserializer<Archive>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Archive? Deserialize(Stream? data)
public override Archive? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -184,7 +179,5 @@ namespace SabreTools.Serialization.Deserializers
return segment;
}
#endregion
}
}

View File

@@ -3,19 +3,16 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.PIC;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.PIC.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class PIC :
BaseBinaryDeserializer<DiscInformation>,
IStreamDeserializer<DiscInformation>
public class PIC : BaseBinaryDeserializer<DiscInformation>
{
#region IStreamDeserializer
/// <inheritdoc/>
public DiscInformation? Deserialize(Stream? data)
public override DiscInformation? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)

View File

@@ -2,17 +2,12 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.PlayJ;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.PlayJ.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class PlayJAudio :
BaseBinaryDeserializer<AudioFile>,
IStreamDeserializer<AudioFile>
public class PlayJAudio : BaseBinaryDeserializer<AudioFile>
{
#region IStreamDeserializer
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
public static AudioFile? DeserializeStream(Stream? data, long adjust = 0)
{
@@ -21,7 +16,7 @@ namespace SabreTools.Serialization.Deserializers
}
/// <inheritdoc/>
public AudioFile? Deserialize(Stream? data)
public override AudioFile? Deserialize(Stream? data)
=> Deserialize(data, 0);
/// <inheritdoc cref="Deserialize(Stream)"/>
@@ -351,7 +346,5 @@ namespace SabreTools.Serialization.Deserializers
return dataFile;
}
#endregion
}
}

View File

@@ -1,18 +1,13 @@
using System.IO;
using SabreTools.IO;
using SabreTools.Models.PlayJ;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class PlayJPlaylist :
BaseBinaryDeserializer<Playlist>,
IStreamDeserializer<Playlist>
public class PlayJPlaylist : BaseBinaryDeserializer<Playlist>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Playlist? Deserialize(Stream? data)
public override Playlist? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -76,7 +71,5 @@ namespace SabreTools.Serialization.Deserializers
return playlistHeader;
}
#endregion
}
}

View File

@@ -5,19 +5,14 @@ using System.Linq;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.PortableExecutable;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.PortableExecutable.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class PortableExecutable :
BaseBinaryDeserializer<Executable>,
IStreamDeserializer<Executable>
public class PortableExecutable : BaseBinaryDeserializer<Executable>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Executable? Deserialize(Stream? data)
public override Executable? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -1334,7 +1329,5 @@ namespace SabreTools.Serialization.Deserializers
return resourceDirectoryTable;
}
#endregion
}
}

View File

@@ -2,19 +2,14 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.Quantum;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.Quantum.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class Quantum :
BaseBinaryDeserializer<Archive>,
IStreamDeserializer<Archive>
public class Quantum : BaseBinaryDeserializer<Archive>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Archive? Deserialize(Stream? data)
public override Archive? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -157,7 +152,5 @@ namespace SabreTools.Serialization.Deserializers
byte b1 = data.ReadByteValue();
return (b0 << 8) | b1;
}
#endregion
}
}

View File

@@ -4,18 +4,13 @@ using System.Linq;
using System.Text;
using SabreTools.IO.Readers;
using SabreTools.Models.RomCenter;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class RomCenter :
BaseBinaryDeserializer<MetadataFile>,
IStreamDeserializer<MetadataFile>
public class RomCenter : BaseBinaryDeserializer<MetadataFile>
{
#region IStreamDeserializer
/// <inheritdoc/>
public MetadataFile? Deserialize(Stream? data)
public override MetadataFile? Deserialize(Stream? data)
{
// If the stream is null
if (data == null)
@@ -214,7 +209,5 @@ namespace SabreTools.Serialization.Deserializers
}
return dat;
}
#endregion
}
}

View File

@@ -3,19 +3,14 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.SGA;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.SGA.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class SGA :
BaseBinaryDeserializer<Models.SGA.File>,
IStreamDeserializer<Models.SGA.File>
public class SGA : BaseBinaryDeserializer<Models.SGA.File>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Models.SGA.File? Deserialize(Stream? data)
public override Models.SGA.File? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -729,7 +724,5 @@ namespace SabreTools.Serialization.Deserializers
return file7;
}
#endregion
}
}

View File

@@ -4,13 +4,11 @@ using System.Linq;
using System.Text;
using SabreTools.IO.Readers;
using SabreTools.Models.SeparatedValue;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
public class SeparatedValue :
BaseBinaryDeserializer<MetadataFile>,
IStreamDeserializer<MetadataFile>
// TODO: Create variants for the 3 common types: CSV, SSV, TSV
public class SeparatedValue : BaseBinaryDeserializer<MetadataFile>
{
#region Constants
@@ -83,7 +81,7 @@ namespace SabreTools.Serialization.Deserializers
}
/// <inheritdoc/>
public MetadataFile? Deserialize(Stream? data)
public override MetadataFile? Deserialize(Stream? data)
=> Deserialize(data, ',');
/// <inheritdoc cref="Deserialize(Stream)"/>

View File

@@ -1,7 +1,6 @@
namespace SabreTools.Serialization.Deserializers
{
public class SoftwareList :
XmlFile<Models.SoftwareList.SoftwareList>
public class SoftwareList : XmlFile<Models.SoftwareList.SoftwareList>
{
// All logic taken care of in the base class
}

View File

@@ -2,19 +2,14 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.VBSP;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.VBSP.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class VBSP :
BaseBinaryDeserializer<Models.VBSP.File>,
IStreamDeserializer<Models.VBSP.File>
public class VBSP : BaseBinaryDeserializer<Models.VBSP.File>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Models.VBSP.File? Deserialize(Stream? data)
public override Models.VBSP.File? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -112,7 +107,5 @@ namespace SabreTools.Serialization.Deserializers
return lump;
}
#endregion
}
}

View File

@@ -3,19 +3,14 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.VPK;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.VPK.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class VPK :
BaseBinaryDeserializer<Models.VPK.File>,
IStreamDeserializer<Models.VPK.File>
public class VPK : BaseBinaryDeserializer<Models.VPK.File>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Models.VPK.File? Deserialize(Stream? data)
public override Models.VPK.File? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -286,7 +281,5 @@ namespace SabreTools.Serialization.Deserializers
return directoryEntry;
}
#endregion
}
}

View File

@@ -2,19 +2,14 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.WAD;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.WAD.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class WAD :
BaseBinaryDeserializer<Models.WAD.File>,
IStreamDeserializer<Models.WAD.File>
public class WAD : BaseBinaryDeserializer<Models.WAD.File>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Models.WAD.File? Deserialize(Stream? data)
public override Models.WAD.File? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -245,7 +240,5 @@ namespace SabreTools.Serialization.Deserializers
return lumpInfo;
}
#endregion
}
}

View File

@@ -2,19 +2,14 @@ using System.IO;
using System.Text;
using SabreTools.IO;
using SabreTools.Models.XZP;
using SabreTools.Serialization.Interfaces;
using static SabreTools.Models.XZP.Constants;
namespace SabreTools.Serialization.Deserializers
{
public class XZP :
BaseBinaryDeserializer<Models.XZP.File>,
IStreamDeserializer<Models.XZP.File>
public class XZP : BaseBinaryDeserializer<Models.XZP.File>
{
#region IStreamDeserializer
/// <inheritdoc/>
public Models.XZP.File? Deserialize(Stream? data)
public override Models.XZP.File? Deserialize(Stream? data)
{
// If the data is invalid
if (data == null || data.Length == 0 || !data.CanSeek || !data.CanRead)
@@ -248,7 +243,5 @@ namespace SabreTools.Serialization.Deserializers
return footer;
}
#endregion
}
}

View File

@@ -2,7 +2,6 @@ using System.IO;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;
using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Deserializers
{
@@ -10,14 +9,10 @@ namespace SabreTools.Serialization.Deserializers
/// Base class for other XML deserializers
/// </summary>
/// <typeparam name="T"></typeparam>
public class XmlFile<T> :
BaseBinaryDeserializer<T>,
IStreamDeserializer<T>
public class XmlFile<T> : BaseBinaryDeserializer<T>
{
#region IStreamDeserializer
/// <inheritdoc/>
public T? Deserialize(Stream? data)
public override T? Deserialize(Stream? data)
{
// If the stream is null
if (data == null)
@@ -40,7 +35,5 @@ namespace SabreTools.Serialization.Deserializers
// Perform the deserialization and return
return (T?)serializer.Deserialize(xmlReader);
}
#endregion
}
}

View File

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