Add "very useful method" to interface

This commit is contained in:
Matt Nadareski
2024-04-04 12:39:55 -04:00
parent b320fc8985
commit ead32b3422
29 changed files with 123 additions and 3 deletions

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class AACSMediaKeyBlock : IPrinter<MediaKeyBlock>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, MediaKeyBlock model)
=> Print(builder, model);
public static void Print(StringBuilder builder, MediaKeyBlock mediaKeyBlock)
{
builder.AppendLine("AACS Media Key Block Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class BDPlusSVM : IPrinter<SVM>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, SVM model)
=> Print(builder, model);
public static void Print(StringBuilder builder, SVM svm)
{
builder.AppendLine("BD+ SVM Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class BFPK : IPrinter<Archive>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, Archive model)
=> Print(builder, model);
public static void Print(StringBuilder builder, Archive archive)
{
builder.AppendLine("BFPK Information:");

View File

@@ -6,6 +6,10 @@ namespace SabreTools.Printing
{
public class BSP : IPrinter<File>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, File model)
=> Print(builder, model);
public static void Print(StringBuilder builder, File file)
{
builder.AppendLine("BSP Information:");

View File

@@ -6,6 +6,10 @@ namespace SabreTools.Printing
{
public class CFB : IPrinter<Binary>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, Binary model)
=> Print(builder, model);
public static void Print(StringBuilder builder, Binary binary)
{
builder.AppendLine("Compound File Binary Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class CIA : IPrinter<Models.N3DS.CIA>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, Models.N3DS.CIA model)
=> Print(builder, model);
public static void Print(StringBuilder builder, Models.N3DS.CIA cia)
{
builder.AppendLine("CIA Archive Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class GCF : IPrinter<File>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, File model)
=> Print(builder, model);
public static void Print(StringBuilder builder, File file)
{
builder.AppendLine("GCF Information:");

View File

@@ -1,3 +1,5 @@
using System.Text;
namespace SabreTools.Printing
{
/// <summary>
@@ -6,6 +8,11 @@ namespace SabreTools.Printing
/// <typeparam name="TModel">Type of the top-level model</typeparam>
public interface IPrinter<TModel>
{
// Empty interface to associate a model with a printer
/// <summary>
/// Print information associated with a model
/// </summary>
/// <param name="builder">StringBuilder to append information to</param>
/// <param name="model">Model to print</param>
void PrintInformation(StringBuilder builder, TModel model);
}
}

View File

@@ -1,10 +1,15 @@
using System.Text;
using SabreTools.Models.IRD;
namespace SabreTools.Printing
{
public class IRD : IPrinter<Models.IRD.File>
public class IRD : IPrinter<File>
{
public static void Print(StringBuilder builder, Models.IRD.File ird)
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, File model)
=> Print(builder, model);
public static void Print(StringBuilder builder, File ird)
{
builder.AppendLine("IRD Information:");
builder.AppendLine("-------------------------");

View File

@@ -6,6 +6,10 @@ namespace SabreTools.Printing
{
public class InstallShieldCabinet : IPrinter<Cabinet>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, Cabinet model)
=> Print(builder, model);
public static void Print(StringBuilder builder, Cabinet cabinet)
{
builder.AppendLine("InstallShield Cabinet Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class LinearExecutable : IPrinter<Executable>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, Executable model)
=> Print(builder, model);
public static void Print(StringBuilder builder, Executable executable)
{
builder.AppendLine("New Executable Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class MSDOS : IPrinter<Executable>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, Executable model)
=> Print(builder, model);
public static void Print(StringBuilder builder, Executable executable)
{
builder.AppendLine("MS-DOS Executable Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class MicrosoftCabinet : IPrinter<Cabinet>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, Cabinet model)
=> Print(builder, model);
public static void Print(StringBuilder builder, Cabinet cabinet)
{
builder.AppendLine("Microsoft Cabinet Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class N3DS : IPrinter<Cart>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, Cart model)
=> Print(builder, model);
public static void Print(StringBuilder builder, Cart cart)
{
builder.AppendLine("3DS Cart Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class NCF : IPrinter<File>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, File model)
=> Print(builder, model);
public static void Print(StringBuilder builder, File file)
{
builder.AppendLine("NCF Information:");

View File

@@ -7,6 +7,10 @@ namespace SabreTools.Printing
{
public class NewExecutable : IPrinter<Executable>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, Executable model)
=> Print(builder, model);
public static void Print(StringBuilder builder, Executable executable)
{
builder.AppendLine("New Executable Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class Nitro : IPrinter<Cart>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, Cart model)
=> Print(builder, model);
public static void Print(StringBuilder builder, Cart cart)
{
builder.AppendLine("NDS Cart Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class PAK : IPrinter<File>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, File model)
=> Print(builder, model);
public static void Print(StringBuilder builder, File file)
{
builder.AppendLine("PAK Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class PFF : IPrinter<Archive>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, Archive model)
=> Print(builder, model);
public static void Print(StringBuilder builder, Archive archive)
{
builder.AppendLine("PFF Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class PlayJAudioFile : IPrinter<AudioFile>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, AudioFile model)
=> Print(builder, model);
public static void Print(StringBuilder builder, AudioFile audio)
{
builder.AppendLine("PlayJ Audio File Information:");

View File

@@ -12,6 +12,10 @@ namespace SabreTools.Printing
{
public class PortableExecutable : IPrinter<Executable>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, Executable model)
=> Print(builder, model);
public static void Print(StringBuilder builder, Executable executable)
{
builder.AppendLine("Portable Executable Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class Quantum : IPrinter<Archive>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, Archive model)
=> Print(builder, model);
public static void Print(StringBuilder builder, Archive archive)
{
builder.AppendLine("Quantum Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class SGA : IPrinter<File>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, File model)
=> Print(builder, model);
public static void Print(StringBuilder builder, File file)
{
builder.AppendLine("SGA Information:");

View File

@@ -6,6 +6,10 @@ namespace SabreTools.Printing
{
public class VBSP : IPrinter<File>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, File model)
=> Print(builder, model);
public static void Print(StringBuilder builder, File file)
{
builder.AppendLine("VBSP Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class VPK : IPrinter<File>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, File model)
=> Print(builder, model);
public static void Print(StringBuilder builder, File file)
{
builder.AppendLine("VPK Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class WAD : IPrinter<File>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, File model)
=> Print(builder, model);
public static void Print(StringBuilder builder, File file)
{
builder.AppendLine("WAD Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class XMID : IPrinter<Models.Xbox.XMID>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, Models.Xbox.XMID model)
=> Print(builder, model);
public static void Print(StringBuilder builder, Models.Xbox.XMID xmid)
{
builder.AppendLine("Xbox Media Identifier Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class XZP : IPrinter<File>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, File model)
=> Print(builder, model);
public static void Print(StringBuilder builder, File file)
{
builder.AppendLine("XZP Information:");

View File

@@ -5,6 +5,10 @@ namespace SabreTools.Printing
{
public class XeMID : IPrinter<Models.Xbox.XeMID>
{
/// <inheritdoc/>
public void PrintInformation(StringBuilder builder, Models.Xbox.XeMID model)
=> Print(builder, model);
public static void Print(StringBuilder builder, Models.Xbox.XeMID xemid)
{
builder.AppendLine("Xbox Media Identifier Information:");