Files
BinaryObjectScanner/BinaryObjectScanner.Interfaces/IExtractable.cs

30 lines
1.2 KiB
C#
Raw Normal View History

2023-03-09 13:48:51 -05:00
using System.IO;
namespace BinaryObjectScanner.Interfaces
{
/// <summary>
/// Mark a file type as being able to be extracted
/// </summary>
2023-03-09 17:16:39 -05:00
/// TODO: Add debug flag to both of the declarations
2023-03-09 13:48:51 -05:00
public interface IExtractable
{
/// <summary>
/// Scan a file for all internal protections
/// </summary>
/// <param name="file">Path to the input file</param>
2023-03-09 17:16:39 -05:00
/// <param name="includeDebug">True to include debug data, false otherwise</param>
2023-03-09 13:48:51 -05:00
/// <returns>Path to extracted files, null on error</returns>
2023-03-09 17:16:39 -05:00
/// <remarks>Ideally, this should just point to the other extract implementation.</remarks>
string Extract(string file, bool includeDebug);
2023-03-09 13:48:51 -05:00
/// <summary>
/// Scan a stream for all internal protections
/// </summary>
/// <param name="stream">Stream representing the input file</param>
/// <param name="file">Path to the input file</param>
2023-03-09 17:16:39 -05:00
/// <param name="includeDebug">True to include debug data, false otherwise</param>
2023-03-09 13:48:51 -05:00
/// <returns>Path to extracted files, null on error</returns>
2023-03-09 17:16:39 -05:00
string Extract(Stream stream, string file, bool includeDebug);
2023-03-09 13:48:51 -05:00
}
}