public FileMonitor(ISolutionFilesService solutionFilesService, IGlobMatcher globMatcher, IFileChangeSubscriber fileChangeSubscriber, IOutputService outputService) { this.solutionFilesService = solutionFilesService; this.globMatcher = globMatcher; this.fileChangeSubscriber = fileChangeSubscriber; this.outputService = outputService; this.monitoredFilesField = new ConcurrentDictionary<string, MonitoredFile>(); this.monitoredProjectsField = new ConcurrentDictionary<string, MonitoredFile>(); }
public DefaultFileEventListenerFactory(ISolutionFilesService solutionFilesService, IVsFileChangeEx fileChangeService, IOutputService outputService, ICommandErrorReporter errorReporter) { this.solutionFilesService = solutionFilesService; this.fileChangeService = fileChangeService; this.outputService = outputService; this.globMatcher = new RegexGlobMatcher(); this.onChangeTaskDispatcher = new SynchronousOnChangeTaskDispatcher(this.outputService); this.actionFactory = new PowerShellGooseActionFactory(new PowerShellTaskFactory(this.outputService, errorReporter, new JsonCommandLogParser()), new PowerShellCommandBuilder()); }