public GeneralOptionsDialogControl(ISonarLintSettings settings, ISonarLintDaemon daemon, IDaemonInstaller installer, ICommand openSettingsFileCommand, ILogger logger) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } if (daemon == null) { throw new ArgumentNullException(nameof(daemon)); } if (installer == null) { throw new ArgumentNullException(nameof(installer)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (openSettingsFileCommand == null) { throw new ArgumentNullException(nameof(openSettingsFileCommand)); } this.settings = settings; this.daemon = daemon; this.installer = installer; this.logger = logger; InitializeComponent(); this.OpenSettingsButton.Command = openSettingsFileCommand; }
public SonarLintDaemon(ISonarLintSettings settings, IDaemonInstaller daemonInstaller, ILogger logger) { this.settings = settings; this.logger = logger; this.installer = daemonInstaller; this.WorkingDirectory = CreateTempDirectory(); }
public DelayedRequest(DaemonAnalyzer daemonAnalyzer, string path, string charset, IEnumerable <AnalysisLanguage> detectedLanguages, IIssueConsumer consumer) { this.daemonAnalyzer = daemonAnalyzer; this.daemon = daemonAnalyzer.daemon; this.daemonInstaller = daemonAnalyzer.installer; this.path = path; this.charset = charset; this.detectedLanguages = detectedLanguages; this.consumer = consumer; }
public StatusBarDownloadProgressHandler(IVsStatusbar statusBar, IDaemonInstaller installer, ILogger logger) { if (statusBar == null) { return; // no point in doing anything if we don't have a status bar } this.statusBar = statusBar; this.installer = installer; this.logger = logger; this.installer.InstallationProgressChanged += HandleDownloadProgressChanged; this.installer.InstallationCompleted += HandleInstallationCompleted; }
private async System.Threading.Tasks.Task InitAsync() { try { logger = await this.GetMefServiceAsync <ILogger>(); logger.WriteLine(Resources.Strings.Daemon_Initializing); await DisableRuleCommand.InitializeAsync(this, logger); await CFamilyReproducerCommand.InitializeAsync(this, logger); cFamilyPreCompiledHeadersEventListener = await this.GetMefServiceAsync <IPreCompiledHeadersEventListener>(); daemon = await this.GetMefServiceAsync <ISonarLintDaemon>(); LegacyInstallationCleanup.CleanupDaemonFiles(logger); // Set up the solution tracker so we can shut down the daemon when a solution is closed var solutionTracker = await this.GetMefServiceAsync <IActiveSolutionTracker>(); solutionTracker.ActiveSolutionChanged += HandleActiveSolutionChanged; IDaemonInstaller installer = await this.GetMefServiceAsync <IDaemonInstaller>(); if (!installer.IsInstalled()) { // Set up the status bar download handler in case the user enables // support for additional languages during the VS session var sbService = await this.GetServiceAsync(typeof(IVsStatusbar)) as IVsStatusbar; statusBarDownloadProgressHandler = new StatusBarDownloadProgressHandler(sbService, installer, logger); var settings = await this.GetMefServiceAsync <ISonarLintSettings>(); if (settings.IsActivateMoreEnabled) { // User already agreed to have the daemon installed so directly start download. // No UI interation so we don't need to be on the UI thread. installer.Install(); } } } catch (Exception ex) when(!ErrorHandler.IsCriticalException(ex)) { logger?.WriteLine(Resources.Strings.ERROR_InitializingDaemon, ex); } logger?.WriteLine(Resources.Strings.Daemon_InitializationComplete); }
public TestableSonarLintDaemon(ISonarLintSettings settings, ILogger logger, IDaemonInstaller installer) : base(settings, installer, logger) { this.Ready += (s, a) => WasReadyEventInvoked = true; }
public DaemonAnalyzer(ISonarLintDaemon daemon, IDaemonInstaller daemonInstaller, ITelemetryManager telemetryManager) { this.daemon = daemon; this.installer = daemonInstaller; this.telemetryManager = telemetryManager; }
private static void ConfigureSiteMock(GeneralOptionsDialogPage testSubject, ISonarLintSettings settings, ISonarLintDaemon daemon, IDaemonInstaller installer) { var mefHostMock = new Mock <IComponentModel>(); mefHostMock.Setup(m => m.GetExtensions <ISonarLintDaemon>()).Returns(() => new[] { daemon }); mefHostMock.Setup(m => m.GetExtensions <IDaemonInstaller>()).Returns(() => new[] { installer }); mefHostMock.Setup(m => m.GetExtensions <ISonarLintSettings>()).Returns(() => new[] { settings }); mefHostMock.Setup(m => m.GetExtensions <ILogger>()).Returns(() => new[] { new TestLogger() }); mefHostMock.Setup(m => m.GetExtensions <IUserSettingsProvider>()).Returns(() => new[] { new Mock <IUserSettingsProvider>().Object }); var siteMock = new Mock <ISite>(); siteMock.As <IServiceProvider>().Setup(m => m.GetService(It.Is <Type>(t => t == typeof(SComponentModel)))).Returns(mefHostMock.Object); testSubject.Site = siteMock.Object; }