using System.Collections.Generic; using System.IO; namespace SabreTools.Matching { /// /// Get a version number from a file /// /// File path to get the version from /// Optional file contents as a byte array /// List of positions in the array that were matched /// Version string on success, null on failure public delegate string? GetArrayVersion(string path, byte[]? content, List positions); /// /// Get a version number from an input path /// /// File or directory path to get the version from /// Optional set of files in the directory /// Version string on success, null on failure public delegate string? GetPathVersion(string path, List? files); /// /// Get a version number from a file /// /// File path to get the version from /// Optional file contents as a Stream /// List of positions in the Stream that were matched /// Version string on success, null on failure public delegate string? GetStreamVersion(string path, Stream? content, List positions); }