//---------------------------------------------------------------------
 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;
 }
Ejemplo n.º 2
0
        //---------------------------------------------------------------------
        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);
            });
        }