Introduce typed IExtractable

This commit is contained in:
Matt Nadareski
2025-09-06 11:05:47 -04:00
parent 3a5e7004a3
commit 8043201be7
27 changed files with 35 additions and 26 deletions

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// BFPK custom archive format
/// </summary>
public class BFPK : IExtractable
public class BFPK : IExtractable<SabreTools.Serialization.Wrappers.BFPK>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// Half-Life Level
/// </summary>
public class BSP : IExtractable
public class BSP : IExtractable<SabreTools.Serialization.Wrappers.BSP>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// bzip2 archive
/// </summary>
public class BZip2 : IExtractable
public class BZip2 : IExtractable<SabreTools.Serialization.Wrappers.BZip2>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// Compound File Binary
/// </summary>
public class CFB : IExtractable
public class CFB : IExtractable<SabreTools.Serialization.Wrappers.CFB>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// Half-Life Game Cache File
/// </summary>
public class GCF : IExtractable
public class GCF : IExtractable<SabreTools.Serialization.Wrappers.GCF>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// gzip archive
/// </summary>
public class GZip : IExtractable
public class GZip : IExtractable<SabreTools.Serialization.Wrappers.GZip>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// InstallShield archive v3
/// </summary>
public class InstallShieldArchiveV3 : IExtractable
public class InstallShieldArchiveV3 : IExtractable<SabreTools.Serialization.Wrappers.InstallShieldArchiveV3>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// InstallShield cabinet file
/// </summary>
public class InstallShieldCAB : IExtractable
public class InstallShieldCAB : IExtractable<SabreTools.Serialization.Wrappers.InstallShieldCabinet>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// LZ-compressed file, KWAJ variant
/// </summary>
public class LZKWAJ : IExtractable
public class LZKWAJ : IExtractable<SabreTools.Serialization.Wrappers.LZKWAJ>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// LZ-compressed file, QBasic variant
/// </summary>
public class LZQBasic : IExtractable
public class LZQBasic : IExtractable<SabreTools.Serialization.Wrappers.LZQBasic>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// LZ-compressed file, SZDD variant
/// </summary>
public class LZSZDD : IExtractable
public class LZSZDD : IExtractable<SabreTools.Serialization.Wrappers.LZSZDD>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// MoPaQ game data archive
/// </summary>
public class MPQ : IExtractable
public class MPQ : IExtractable<SabreTools.Serialization.Wrappers.MoPaQ>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// Microsoft cabinet file
/// </summary>
public class MicrosoftCAB : IExtractable
public class MicrosoftCAB : IExtractable<SabreTools.Serialization.Wrappers.MicrosoftCabinet>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// Half-Life Package File
/// </summary>
public class PAK : IExtractable
public class PAK : IExtractable<SabreTools.Serialization.Wrappers.PAK>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// NovaLogic Game Archive Format
/// </summary>
public class PFF : IExtractable
public class PFF : IExtractable<SabreTools.Serialization.Wrappers.PFF>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// PKWARE ZIP archive and derivatives
/// </summary>
public class PKZIP : IExtractable
public class PKZIP : IExtractable<SabreTools.Serialization.Wrappers.PKZIP>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// Quantum Archive
/// </summary>
public class Quantum : IExtractable
public class Quantum : IExtractable<SabreTools.Serialization.Wrappers.Quantum>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// RAR archive
/// </summary>
public class RAR : IExtractable
public class RAR : IExtractable<SabreTools.Serialization.Wrappers.RAR>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// SGA game archive
/// </summary>
public class SGA : IExtractable
public class SGA : IExtractable<SabreTools.Serialization.Wrappers.SGA>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// 7-zip archive
/// </summary>
public class SevenZip : IExtractable
public class SevenZip : IExtractable<SabreTools.Serialization.Wrappers.SevenZip>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// Tape archive
/// </summary>
public class TapeArchive : IExtractable
public class TapeArchive : IExtractable<SabreTools.Serialization.Wrappers.TapeArchive>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// Half-Life 2 Level
/// </summary>
public class VBSP : IExtractable
public class VBSP : IExtractable<SabreTools.Serialization.Wrappers.VBSP>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// Valve Package File
/// </summary>
public class VPK : IExtractable
public class VPK : IExtractable<SabreTools.Serialization.Wrappers.VPK>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// Half-Life Texture Package File
/// </summary>
public class WAD3 : IExtractable
public class WAD3 : IExtractable<SabreTools.Serialization.Wrappers.WAD3>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// xz archive
/// </summary>
public class XZ : IExtractable
public class XZ : IExtractable<SabreTools.Serialization.Wrappers.XZ>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
/// <summary>
/// XBox Package File
/// </summary>
public class XZP : IExtractable
public class XZP : IExtractable<SabreTools.Serialization.Wrappers.XZP>
{
/// <inheritdoc/>
public bool Extract(string file, string outDir, bool includeDebug)

View File

@@ -0,0 +1,9 @@
using SabreTools.Serialization.Interfaces;
namespace BinaryObjectScanner.Interfaces
{
/// <summary>
/// Mark a file type as being able to be extracted
/// </summary>
public interface IExtractable<T> : IExtractable where T : IWrapper { }
}