- #nullable enable
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
-
- namespace IPA.AntiMalware
- {
- /// <summary>
- /// Provides a way to access BSIPA's Anti-Malware engine.
- /// </summary>
- /// <see cref="Engine"/>
- /// <see cref="IAntiMalware"/>
- public static class AntiMalwareEngine
- {
- /// <summary>
- /// Gets the current Anti-Malware engine.
- /// </summary>
- 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;
- }
- }
- }
|