Files
BinaryObjectScanner/BinaryObjectScanner.Interfaces/IPathCheck.cs

30 lines
1.2 KiB
C#
Raw Normal View History

using System.Collections.Concurrent;
using System.Collections.Generic;
2021-02-26 00:32:09 -08:00
namespace BinaryObjectScanner.Interfaces
2021-02-26 00:32:09 -08:00
{
2022-05-01 21:06:52 -07:00
/// <summary>
/// Check a file or directory path for protection
/// </summary>
/// <remarks>
/// These checks rely primarily on filenames and paths, not file contents
/// </remarks>
2022-12-26 12:36:09 -08:00
public interface IPathCheck
2021-02-26 00:32:09 -08:00
{
/// <summary>
2021-03-19 15:41:49 -07:00
/// Check a file path for protections based on path name
2021-02-26 00:32:09 -08:00
/// </summary>
/// <param name="path">Path to check for protection indicators</param>
2021-03-19 15:41:49 -07:00
/// <param name="files">Enumerable of strings representing files in a directory</param>
2022-05-01 21:03:48 -07:00
/// <remarks>This can do some limited content checking as well, but it's suggested to use a content check instead, if possible</remarks>
ConcurrentQueue<string> CheckDirectoryPath(string path, IEnumerable<string> files);
2021-03-19 15:41:49 -07:00
/// <summary>
/// Check a file path for protections based on path name
/// </summary>
/// <param name="path">Path to check for protection indicators</param>
2022-05-01 21:03:48 -07:00
/// <remarks>This can do some limited content checking as well, but it's suggested to use a content check instead, if possible</remarks>
2021-03-19 15:41:49 -07:00
string CheckFilePath(string path);
2021-02-26 00:32:09 -08:00
}
}