using System.Text.RegularExpressions; using MalwareMultiScan.Backends.Backends.Abstracts; using MalwareMultiScan.Backends.Services.Interfaces; namespace MalwareMultiScan.Backends.Backends { /// public class ClamavScanBackend : AbstractLocalProcessScanBackend { /// public ClamavScanBackend(IProcessRunner processRunner) : base(processRunner) { } /// public override string Id { get; } = "clamav"; /// protected override string BackendPath { get; } = "/usr/bin/clamdscan"; /// protected override Regex MatchRegex { get; } = new Regex(@"(\S+): (?[\S]+) FOUND", RegexOptions.Compiled | RegexOptions.Multiline); /// protected override bool ThrowOnNonZeroExitCode { get; } = false; /// protected override string GetBackendArguments(string path) { return $"-m --fdpass --no-summary {path}"; } } }