private bool TryGetPlugin(AnalyserPluginId id, out IDataSourceAnalyserPlugin plugin) { lock (_syncRoot) { return(_factoriesById.TryGetValue(id, out plugin)); } }
private IPluginLoader CreatePluginLoader(IDataSourceAnalyserPlugin pluginObject) { var loader = new PluginRegistry(); loader.Register(pluginObject); return(loader); }
public DataSourceAnalyserProxy(IDataSourceAnalyserPlugin plugin, AnalyserId id, ITaskScheduler scheduler, ILogFile logFile, ILogAnalyserConfiguration configuration) { _plugin = plugin; _id = id; _logFile = logFile; _configuration = configuration; _analyser = TryCreateAnalyser(scheduler); }
public void RegisterFactory(IDataSourceAnalyserPlugin plugin) { if (plugin == null) { throw new ArgumentNullException(nameof(plugin)); } lock (_syncRoot) { var id = plugin.Id; if (_factoriesById.ContainsKey(id)) { throw new ArgumentException(string.Format("There already exists a plugin of id '{0}'", id)); } _factoriesById.Add(id, plugin); } }