#nullable enable using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IPA.AntiMalware { /// /// Provides a way to access BSIPA's Anti-Malware engine. /// /// /// public static class AntiMalwareEngine { /// /// Gets the current Anti-Malware engine. /// public static IAntiMalware Engine { get; } = InitializeEngine(); private static IAntiMalware InitializeEngine() { IAntiMalware? engine = null; #if !NET35 engine = WindowsCOMAntiMalware.TryInitialize(); #endif engine ??= WindowsWin32AntiMalware.TryInitialize(); engine ??= new NoopAntiMalware(); return engine; } } }