diff --git a/BinaryObjectScanner/FileType/BFPK.cs b/BinaryObjectScanner/FileType/BFPK.cs
index fed0da92..372bf2a4 100644
--- a/BinaryObjectScanner/FileType/BFPK.cs
+++ b/BinaryObjectScanner/FileType/BFPK.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// BFPK custom archive format
///
- public class BFPK : IExtractable
+ public class BFPK : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/BSP.cs b/BinaryObjectScanner/FileType/BSP.cs
index 3223f50d..b0d47cfc 100644
--- a/BinaryObjectScanner/FileType/BSP.cs
+++ b/BinaryObjectScanner/FileType/BSP.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// Half-Life Level
///
- public class BSP : IExtractable
+ public class BSP : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/BZip2.cs b/BinaryObjectScanner/FileType/BZip2.cs
index 60e058f2..be431739 100644
--- a/BinaryObjectScanner/FileType/BZip2.cs
+++ b/BinaryObjectScanner/FileType/BZip2.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// bzip2 archive
///
- public class BZip2 : IExtractable
+ public class BZip2 : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/CFB.cs b/BinaryObjectScanner/FileType/CFB.cs
index ec47f880..b1c1b44d 100644
--- a/BinaryObjectScanner/FileType/CFB.cs
+++ b/BinaryObjectScanner/FileType/CFB.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// Compound File Binary
///
- public class CFB : IExtractable
+ public class CFB : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/GCF.cs b/BinaryObjectScanner/FileType/GCF.cs
index 103d55ce..cf9bcfd7 100644
--- a/BinaryObjectScanner/FileType/GCF.cs
+++ b/BinaryObjectScanner/FileType/GCF.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// Half-Life Game Cache File
///
- public class GCF : IExtractable
+ public class GCF : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/GZip.cs b/BinaryObjectScanner/FileType/GZip.cs
index febd2020..00041524 100644
--- a/BinaryObjectScanner/FileType/GZip.cs
+++ b/BinaryObjectScanner/FileType/GZip.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// gzip archive
///
- public class GZip : IExtractable
+ public class GZip : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/InstallShieldArchiveV3.cs b/BinaryObjectScanner/FileType/InstallShieldArchiveV3.cs
index 126090b4..95db39b2 100644
--- a/BinaryObjectScanner/FileType/InstallShieldArchiveV3.cs
+++ b/BinaryObjectScanner/FileType/InstallShieldArchiveV3.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// InstallShield archive v3
///
- public class InstallShieldArchiveV3 : IExtractable
+ public class InstallShieldArchiveV3 : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/InstallShieldCAB.cs b/BinaryObjectScanner/FileType/InstallShieldCAB.cs
index 419fde18..072c8732 100644
--- a/BinaryObjectScanner/FileType/InstallShieldCAB.cs
+++ b/BinaryObjectScanner/FileType/InstallShieldCAB.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// InstallShield cabinet file
///
- public class InstallShieldCAB : IExtractable
+ public class InstallShieldCAB : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/LZKWAJ.cs b/BinaryObjectScanner/FileType/LZKWAJ.cs
index 4bf837fb..f8398c13 100644
--- a/BinaryObjectScanner/FileType/LZKWAJ.cs
+++ b/BinaryObjectScanner/FileType/LZKWAJ.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// LZ-compressed file, KWAJ variant
///
- public class LZKWAJ : IExtractable
+ public class LZKWAJ : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/LZQBasic.cs b/BinaryObjectScanner/FileType/LZQBasic.cs
index 59be9c32..b749edf0 100644
--- a/BinaryObjectScanner/FileType/LZQBasic.cs
+++ b/BinaryObjectScanner/FileType/LZQBasic.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// LZ-compressed file, QBasic variant
///
- public class LZQBasic : IExtractable
+ public class LZQBasic : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/LZSZDD.cs b/BinaryObjectScanner/FileType/LZSZDD.cs
index 882a8fa5..70fd39cb 100644
--- a/BinaryObjectScanner/FileType/LZSZDD.cs
+++ b/BinaryObjectScanner/FileType/LZSZDD.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// LZ-compressed file, SZDD variant
///
- public class LZSZDD : IExtractable
+ public class LZSZDD : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/MPQ.cs b/BinaryObjectScanner/FileType/MPQ.cs
index 08b43304..48c860a4 100644
--- a/BinaryObjectScanner/FileType/MPQ.cs
+++ b/BinaryObjectScanner/FileType/MPQ.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// MoPaQ game data archive
///
- public class MPQ : IExtractable
+ public class MPQ : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/MicrosoftCAB.cs b/BinaryObjectScanner/FileType/MicrosoftCAB.cs
index 59babbf7..0e65fbe2 100644
--- a/BinaryObjectScanner/FileType/MicrosoftCAB.cs
+++ b/BinaryObjectScanner/FileType/MicrosoftCAB.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// Microsoft cabinet file
///
- public class MicrosoftCAB : IExtractable
+ public class MicrosoftCAB : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/PAK.cs b/BinaryObjectScanner/FileType/PAK.cs
index 814320cb..86c80503 100644
--- a/BinaryObjectScanner/FileType/PAK.cs
+++ b/BinaryObjectScanner/FileType/PAK.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// Half-Life Package File
///
- public class PAK : IExtractable
+ public class PAK : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/PFF.cs b/BinaryObjectScanner/FileType/PFF.cs
index 759efb54..bf2e0e62 100644
--- a/BinaryObjectScanner/FileType/PFF.cs
+++ b/BinaryObjectScanner/FileType/PFF.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// NovaLogic Game Archive Format
///
- public class PFF : IExtractable
+ public class PFF : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/PKZIP.cs b/BinaryObjectScanner/FileType/PKZIP.cs
index fd7f2b9c..3fbccbb6 100644
--- a/BinaryObjectScanner/FileType/PKZIP.cs
+++ b/BinaryObjectScanner/FileType/PKZIP.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// PKWARE ZIP archive and derivatives
///
- public class PKZIP : IExtractable
+ public class PKZIP : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/Quantum.cs b/BinaryObjectScanner/FileType/Quantum.cs
index 0b898ffd..2638ca07 100644
--- a/BinaryObjectScanner/FileType/Quantum.cs
+++ b/BinaryObjectScanner/FileType/Quantum.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// Quantum Archive
///
- public class Quantum : IExtractable
+ public class Quantum : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/RAR.cs b/BinaryObjectScanner/FileType/RAR.cs
index c7b9f767..eb6f3d77 100644
--- a/BinaryObjectScanner/FileType/RAR.cs
+++ b/BinaryObjectScanner/FileType/RAR.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// RAR archive
///
- public class RAR : IExtractable
+ public class RAR : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/SGA.cs b/BinaryObjectScanner/FileType/SGA.cs
index 1ceca005..dd4d34bd 100644
--- a/BinaryObjectScanner/FileType/SGA.cs
+++ b/BinaryObjectScanner/FileType/SGA.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// SGA game archive
///
- public class SGA : IExtractable
+ public class SGA : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/SevenZip.cs b/BinaryObjectScanner/FileType/SevenZip.cs
index b386ecd1..556c7aa1 100644
--- a/BinaryObjectScanner/FileType/SevenZip.cs
+++ b/BinaryObjectScanner/FileType/SevenZip.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// 7-zip archive
///
- public class SevenZip : IExtractable
+ public class SevenZip : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/TapeArchive.cs b/BinaryObjectScanner/FileType/TapeArchive.cs
index 2f918362..02f0be43 100644
--- a/BinaryObjectScanner/FileType/TapeArchive.cs
+++ b/BinaryObjectScanner/FileType/TapeArchive.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// Tape archive
///
- public class TapeArchive : IExtractable
+ public class TapeArchive : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/VBSP.cs b/BinaryObjectScanner/FileType/VBSP.cs
index ae2eace1..32cd9829 100644
--- a/BinaryObjectScanner/FileType/VBSP.cs
+++ b/BinaryObjectScanner/FileType/VBSP.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// Half-Life 2 Level
///
- public class VBSP : IExtractable
+ public class VBSP : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/VPK.cs b/BinaryObjectScanner/FileType/VPK.cs
index 32f27576..347d3659 100644
--- a/BinaryObjectScanner/FileType/VPK.cs
+++ b/BinaryObjectScanner/FileType/VPK.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// Valve Package File
///
- public class VPK : IExtractable
+ public class VPK : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/WAD3.cs b/BinaryObjectScanner/FileType/WAD3.cs
index e0932bc2..78f7fac9 100644
--- a/BinaryObjectScanner/FileType/WAD3.cs
+++ b/BinaryObjectScanner/FileType/WAD3.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// Half-Life Texture Package File
///
- public class WAD3 : IExtractable
+ public class WAD3 : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/XZ.cs b/BinaryObjectScanner/FileType/XZ.cs
index 5f93f997..f05aa63a 100644
--- a/BinaryObjectScanner/FileType/XZ.cs
+++ b/BinaryObjectScanner/FileType/XZ.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// xz archive
///
- public class XZ : IExtractable
+ public class XZ : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/FileType/XZP.cs b/BinaryObjectScanner/FileType/XZP.cs
index 0eb49bfc..cf852ba9 100644
--- a/BinaryObjectScanner/FileType/XZP.cs
+++ b/BinaryObjectScanner/FileType/XZP.cs
@@ -6,7 +6,7 @@ namespace BinaryObjectScanner.FileType
///
/// XBox Package File
///
- public class XZP : IExtractable
+ public class XZP : IExtractable
{
///
public bool Extract(string file, string outDir, bool includeDebug)
diff --git a/BinaryObjectScanner/Interfaces/IExtractableT.cs b/BinaryObjectScanner/Interfaces/IExtractableT.cs
new file mode 100644
index 00000000..ce3d29af
--- /dev/null
+++ b/BinaryObjectScanner/Interfaces/IExtractableT.cs
@@ -0,0 +1,9 @@
+using SabreTools.Serialization.Interfaces;
+
+namespace BinaryObjectScanner.Interfaces
+{
+ ///
+ /// Mark a file type as being able to be extracted
+ ///
+ public interface IExtractable : IExtractable where T : IWrapper { }
+}