//--------------------------------------------------------------------- public CoverageRunner( DTE2 dte, OutputWindowWriter outputWindowWriter, CoverageTreeManager coverageTreeManager, ProjectBuilder projectBuilder, ICoverageViewManager coverageViewManager, CoverageDataDeserializer coverageDataDeserializer, ErrorHandler errorHandler, OpenCppCoverageRunner openCppCoverageRunner) { this.dte = dte; this.outputWindowWriter = outputWindowWriter; this.coverageTreeManager = coverageTreeManager; this.projectBuilder = projectBuilder; this.coverageViewManager = coverageViewManager; this.coverageDataDeserializer = coverageDataDeserializer; this.errorHandler = errorHandler; this.openCppCoverageRunner = openCppCoverageRunner; }
//--------------------------------------------------------------------- void RunCommand( Action <MainWindowsManager> action) { IVsUIShell uiShell = (IVsUIShell)serviceProvider.GetService(typeof(SVsUIShell)); var errorHandler = new ErrorHandler(uiShell); errorHandler.Execute(() => { var dte = (DTE2)serviceProvider.GetService(typeof(EnvDTE.DTE)); var outputWindow = (IVsOutputWindow)serviceProvider.GetService(typeof(SVsOutputWindow)); var outputWriter = new OutputWindowWriter(dte, outputWindow); errorHandler.OutputWriter = outputWriter; var coverageViewManager = GetCoverageViewManager(serviceProvider); var coverageTreeManager = new CoverageTreeManager(windowFinder); var projectBuilder = new ProjectBuilder(dte, errorHandler, outputWriter); var deserializer = new CoverageDataDeserializer(); var openCppCoverageCmdLine = new OpenCppCoverageCmdLine(this.configFile); var openCppCoverageRunner = new OpenCppCoverageRunner(outputWriter, openCppCoverageCmdLine); var coverageRunner = new CoverageRunner( dte, outputWriter, coverageTreeManager, projectBuilder, coverageViewManager, deserializer, errorHandler, openCppCoverageRunner); var configurationManager = new ConfigurationManager(); var settingsBuilder = new StartUpProjectSettingsBuilder(dte, configurationManager); var mainSettingController = new MainSettingController( new SettingsStorage(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)), openCppCoverageCmdLine, settingsBuilder, coverageRunner); var mainWindowsManager = new MainWindowsManager(windowFinder, mainSettingController); action(mainWindowsManager); }); }