/// <summary> /// Instantiates a new <see cref="PluginDiscoverer" /> class. /// </summary> /// <param name="rawPluginPaths">The raw semicolon-delimited list of supposed plugin file paths.</param> /// <param name="verifier">An embedded signature verifier.</param> /// <exception cref="ArgumentNullException">Thrown if <paramref name="verifier" /> is <c>null</c>.</exception> public PluginDiscoverer(string rawPluginPaths, EmbeddedSignatureVerifier verifier) { if (verifier == null) { throw new ArgumentNullException(nameof(verifier)); } _rawPluginPaths = rawPluginPaths; _verifier = verifier; _semaphore = new SemaphoreSlim(initialCount: 1, maxCount: 1); }
private PluginDiscoverer InitializeDiscoverer() { var verifier = EmbeddedSignatureVerifier.Create(); return(new PluginDiscoverer(_rawPluginPaths, verifier)); }