private static void PrintInfoMetadata(PlgxInfoMetadata infoMetadata, int indentationLevel = 1) { string indentRootLevel = "".PadLeft(indentationLevel * SPACES_PER_INDENT_LEVEL); string indentLevel2 = "".PadLeft((indentationLevel + 1) * SPACES_PER_INDENT_LEVEL); Console.WriteLine($"{indentRootLevel}Info Metadata:"); Console.WriteLine($"{indentLevel2}Signature 1: {infoMetadata.Signature1}"); Console.WriteLine($"{indentLevel2}Signature 2: {infoMetadata.Signature2}"); Console.WriteLine($"{indentLevel2}Info Version: {infoMetadata.InfoVersion}"); }
public static void Validate(this PlgxInfoMetadata plgxInfoMetadata) { if (plgxInfoMetadata.Signature1 != PlgxConstants.PlgxSignature1) { throw new IOException("Invalid Signature 1."); } if (plgxInfoMetadata.Signature2 != PlgxConstants.PlgxSignature2) { throw new IOException("Invalid Signature 2."); } if ((plgxInfoMetadata.InfoVersion & PlgxConstants.PlgxVersionMask) > (PlgxConstants.PlgxVersion & PlgxConstants.PlgxVersionMask)) { throw new IOException("Invalid PLGX Version."); } }