mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-16 03:03:06 +00:00
Migrate IFileDeserializer implementation to base class
This commit is contained in:
@@ -10,20 +10,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class AACS :
|
||||
BaseBinaryDeserializer<MediaKeyBlock>,
|
||||
IFileDeserializer<MediaKeyBlock>,
|
||||
IStreamDeserializer<MediaKeyBlock>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public MediaKeyBlock? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -10,7 +10,6 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class AttractMode :
|
||||
BaseBinaryDeserializer<MetadataFile>,
|
||||
IFileDeserializer<MetadataFile>,
|
||||
IStreamDeserializer<MetadataFile>
|
||||
{
|
||||
#region Constants
|
||||
@@ -21,17 +20,6 @@ namespace SabreTools.Serialization.Deserializers
|
||||
|
||||
#endregion
|
||||
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public MetadataFile? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class BDPlus :
|
||||
BaseBinaryDeserializer<SVM>,
|
||||
IFileDeserializer<SVM>,
|
||||
IStreamDeserializer<SVM>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public SVM? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class BFPK :
|
||||
BaseBinaryDeserializer<Archive>,
|
||||
IFileDeserializer<Archive>,
|
||||
IStreamDeserializer<Archive>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Archive? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -10,20 +10,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class BSP :
|
||||
BaseBinaryDeserializer<Models.BSP.File>,
|
||||
IFileDeserializer<Models.BSP.File>,
|
||||
IStreamDeserializer<Models.BSP.File>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Models.BSP.File? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -12,8 +12,9 @@ namespace SabreTools.Serialization.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>
|
||||
: IByteDeserializer<TModel>
|
||||
public abstract class BaseBinaryDeserializer<TModel> :
|
||||
IByteDeserializer<TModel>,
|
||||
IFileDeserializer<TModel>
|
||||
{
|
||||
#region IByteDeserializer
|
||||
|
||||
@@ -35,6 +36,17 @@ namespace SabreTools.Serialization.Deserializers
|
||||
|
||||
#endregion
|
||||
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public virtual TModel? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Static Implementations
|
||||
|
||||
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
|
||||
|
||||
@@ -11,20 +11,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class CFB :
|
||||
BaseBinaryDeserializer<Binary>,
|
||||
IFileDeserializer<Binary>,
|
||||
IStreamDeserializer<Binary>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Binary? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class CIA :
|
||||
BaseBinaryDeserializer<Models.N3DS.CIA>,
|
||||
IFileDeserializer<Models.N3DS.CIA>,
|
||||
IStreamDeserializer<Models.N3DS.CIA>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Models.N3DS.CIA? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -10,9 +10,39 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class ClrMamePro :
|
||||
BaseBinaryDeserializer<MetadataFile>,
|
||||
IFileDeserializer<MetadataFile>,
|
||||
IStreamDeserializer<MetadataFile>
|
||||
{
|
||||
#region IByteDeserializer
|
||||
|
||||
/// <inheritdoc cref="IByteDeserializer.Deserialize(byte[]?, int)"/>
|
||||
public static MetadataFile? DeserializeBytes(byte[]? data, int offset, bool quotes = true)
|
||||
{
|
||||
var deserializer = new ClrMamePro();
|
||||
return deserializer.Deserialize(data, offset, quotes);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override MetadataFile? Deserialize(byte[]? data, int offset)
|
||||
=> Deserialize(data, offset, true);
|
||||
|
||||
/// <inheritdoc/>
|
||||
public MetadataFile? Deserialize(byte[]? data, int offset, bool quotes)
|
||||
{
|
||||
// If the data is invalid
|
||||
if (data == null)
|
||||
return default;
|
||||
|
||||
// If the offset is out of bounds
|
||||
if (offset < 0 || offset >= data.Length)
|
||||
return default;
|
||||
|
||||
// Create a memory stream and parse that
|
||||
var dataStream = new MemoryStream(data, offset, data.Length - offset);
|
||||
return DeserializeStream(dataStream, quotes);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc cref="IFileDeserializer.Deserialize(string?)"/>
|
||||
@@ -23,7 +53,7 @@ namespace SabreTools.Serialization.Deserializers
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public MetadataFile? Deserialize(string? path)
|
||||
public override MetadataFile? Deserialize(string? path)
|
||||
=> Deserialize(path, true);
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -11,20 +11,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class CueSheet :
|
||||
BaseBinaryDeserializer<Models.CueSheets.CueSheet>,
|
||||
IFileDeserializer<Models.CueSheets.CueSheet>,
|
||||
IStreamDeserializer<Models.CueSheets.CueSheet>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Models.CueSheets.CueSheet? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class DosCenter :
|
||||
BaseBinaryDeserializer<MetadataFile>,
|
||||
IFileDeserializer<MetadataFile>,
|
||||
IStreamDeserializer<MetadataFile>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public MetadataFile? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -10,20 +10,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class EverdriveSMDB :
|
||||
BaseBinaryDeserializer<MetadataFile>,
|
||||
IFileDeserializer<MetadataFile>,
|
||||
IStreamDeserializer<MetadataFile>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public MetadataFile? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class GCF :
|
||||
BaseBinaryDeserializer<Models.GCF.File>,
|
||||
IFileDeserializer<Models.GCF.File>,
|
||||
IStreamDeserializer<Models.GCF.File>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Models.GCF.File? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace SabreTools.Serialization.Deserializers
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Models.Hashfile.Hashfile? Deserialize(string? path)
|
||||
public override Models.Hashfile.Hashfile? Deserialize(string? path)
|
||||
=> Deserialize(path, HashType.CRC32);
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -7,20 +7,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class IRD :
|
||||
BaseBinaryDeserializer<Models.IRD.File>,
|
||||
IFileDeserializer<Models.IRD.File>,
|
||||
IStreamDeserializer<Models.IRD.File>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Models.IRD.File? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -11,20 +11,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
// TODO: Add multi-cabinet reading
|
||||
public class InstallShieldCabinet :
|
||||
BaseBinaryDeserializer<Cabinet>,
|
||||
IFileDeserializer<Cabinet>,
|
||||
IStreamDeserializer<Cabinet>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Cabinet? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -11,7 +11,6 @@ namespace SabreTools.Serialization.Deserializers
|
||||
/// <typeparam name="T"></typeparam>
|
||||
public class JsonFile<T> :
|
||||
BaseBinaryDeserializer<T>,
|
||||
IFileDeserializer<T>,
|
||||
IStreamDeserializer<T>
|
||||
{
|
||||
#region IByteDeserializer
|
||||
@@ -48,7 +47,7 @@ namespace SabreTools.Serialization.Deserializers
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public virtual T? Deserialize(string? path)
|
||||
public override T? Deserialize(string? path)
|
||||
=> Deserialize(path, new UTF8Encoding(false));
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -10,20 +10,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class LinearExecutable :
|
||||
BaseBinaryDeserializer<Executable>,
|
||||
IFileDeserializer<Executable>,
|
||||
IStreamDeserializer<Executable>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Executable? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class Listrom :
|
||||
BaseBinaryDeserializer<MetadataFile>,
|
||||
IFileDeserializer<MetadataFile>,
|
||||
IStreamDeserializer<MetadataFile>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public MetadataFile? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class MSDOS :
|
||||
BaseBinaryDeserializer<Executable>,
|
||||
IFileDeserializer<Executable>,
|
||||
IStreamDeserializer<Executable>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Executable? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -10,20 +10,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
// TODO: Add multi-cabinet reading
|
||||
public class MicrosoftCabinet :
|
||||
BaseBinaryDeserializer<Cabinet>,
|
||||
IFileDeserializer<Cabinet>,
|
||||
IStreamDeserializer<Cabinet>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Cabinet? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -11,20 +11,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class MoPaQ :
|
||||
BaseBinaryDeserializer<Archive>,
|
||||
IFileDeserializer<Archive>,
|
||||
IStreamDeserializer<Archive>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Archive? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -10,20 +10,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class N3DS :
|
||||
BaseBinaryDeserializer<Cart>,
|
||||
IFileDeserializer<Cart>,
|
||||
IStreamDeserializer<Cart>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Cart? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class NCF :
|
||||
BaseBinaryDeserializer<Models.NCF.File>,
|
||||
IFileDeserializer<Models.NCF.File>,
|
||||
IStreamDeserializer<Models.NCF.File>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Models.NCF.File? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -11,20 +11,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class NewExecutable :
|
||||
BaseBinaryDeserializer<Executable>,
|
||||
IFileDeserializer<Executable>,
|
||||
IStreamDeserializer<Executable>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Executable? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class Nitro :
|
||||
BaseBinaryDeserializer<Cart>,
|
||||
IFileDeserializer<Cart>,
|
||||
IStreamDeserializer<Cart>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Cart? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class PAK :
|
||||
BaseBinaryDeserializer<Models.PAK.File>,
|
||||
IFileDeserializer<Models.PAK.File>,
|
||||
IStreamDeserializer<Models.PAK.File>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Models.PAK.File? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class PFF :
|
||||
BaseBinaryDeserializer<Archive>,
|
||||
IFileDeserializer<Archive>,
|
||||
IStreamDeserializer<Archive>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Archive? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -10,20 +10,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class PIC :
|
||||
BaseBinaryDeserializer<DiscInformation>,
|
||||
IFileDeserializer<DiscInformation>,
|
||||
IStreamDeserializer<DiscInformation>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DiscInformation? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class PlayJAudio :
|
||||
BaseBinaryDeserializer<AudioFile>,
|
||||
IFileDeserializer<AudioFile>,
|
||||
IStreamDeserializer<AudioFile>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public AudioFile? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc cref="IStreamDeserializer.Deserialize(Stream?)"/>
|
||||
|
||||
@@ -7,20 +7,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class PlayJPlaylist :
|
||||
BaseBinaryDeserializer<Playlist>,
|
||||
IFileDeserializer<Playlist>,
|
||||
IStreamDeserializer<Playlist>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Playlist? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -12,20 +12,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class PortableExecutable :
|
||||
BaseBinaryDeserializer<Executable>,
|
||||
IFileDeserializer<Executable>,
|
||||
IStreamDeserializer<Executable>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Executable? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class Quantum :
|
||||
BaseBinaryDeserializer<Archive>,
|
||||
IFileDeserializer<Archive>,
|
||||
IStreamDeserializer<Archive>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Archive? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -10,20 +10,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class RomCenter :
|
||||
BaseBinaryDeserializer<MetadataFile>,
|
||||
IFileDeserializer<MetadataFile>,
|
||||
IStreamDeserializer<MetadataFile>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public MetadataFile? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -10,20 +10,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class SGA :
|
||||
BaseBinaryDeserializer<Models.SGA.File>,
|
||||
IFileDeserializer<Models.SGA.File>,
|
||||
IStreamDeserializer<Models.SGA.File>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Models.SGA.File? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -10,7 +10,6 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class SeparatedValue :
|
||||
BaseBinaryDeserializer<MetadataFile>,
|
||||
IFileDeserializer<MetadataFile>,
|
||||
IStreamDeserializer<MetadataFile>
|
||||
{
|
||||
#region Constants
|
||||
@@ -62,7 +61,7 @@ namespace SabreTools.Serialization.Deserializers
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public MetadataFile? Deserialize(string? path)
|
||||
public override MetadataFile? Deserialize(string? path)
|
||||
=> Deserialize(path, ',');
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class VBSP :
|
||||
BaseBinaryDeserializer<Models.VBSP.File>,
|
||||
IFileDeserializer<Models.VBSP.File>,
|
||||
IStreamDeserializer<Models.VBSP.File>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Models.VBSP.File? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -10,20 +10,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class VPK :
|
||||
BaseBinaryDeserializer<Models.VPK.File>,
|
||||
IFileDeserializer<Models.VPK.File>,
|
||||
IStreamDeserializer<Models.VPK.File>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Models.VPK.File? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class WAD :
|
||||
BaseBinaryDeserializer<Models.WAD.File>,
|
||||
IFileDeserializer<Models.WAD.File>,
|
||||
IStreamDeserializer<Models.WAD.File>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Models.WAD.File? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -9,20 +9,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
{
|
||||
public class XZP :
|
||||
BaseBinaryDeserializer<Models.XZP.File>,
|
||||
IFileDeserializer<Models.XZP.File>,
|
||||
IStreamDeserializer<Models.XZP.File>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Models.XZP.File? Deserialize(string? path)
|
||||
{
|
||||
using var stream = PathProcessor.OpenStream(path);
|
||||
return DeserializeStream(stream);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
@@ -12,20 +12,8 @@ namespace SabreTools.Serialization.Deserializers
|
||||
/// <typeparam name="T"></typeparam>
|
||||
public class XmlFile<T> :
|
||||
BaseBinaryDeserializer<T>,
|
||||
IFileDeserializer<T>,
|
||||
IStreamDeserializer<T>
|
||||
{
|
||||
#region IFileDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
public T? Deserialize(string? path)
|
||||
{
|
||||
using var data = PathProcessor.OpenStream(path);
|
||||
return Deserialize(data);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IStreamDeserializer
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
||||
Reference in New Issue
Block a user