Skip to content

Commit

Permalink
Add IConfigurationScopeSLCoreService (#5165)
Browse files Browse the repository at this point in the history
Fixes #5164
  • Loading branch information
ugras-ergun-sonarsource authored Jan 24, 2024
1 parent 9faa963 commit 6022ebd
Show file tree
Hide file tree
Showing 3 changed files with 147 additions and 0 deletions.
67 changes: 67 additions & 0 deletions src/SLCore/Service/Project/IConfigurationScopeSLCoreService.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
/*
* SonarLint for Visual Studio
* Copyright (C) 2016-2024 SonarSource SA
* mailto:info AT sonarsource DOT com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/

using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Threading.Tasks;
using SonarLint.VisualStudio.SLCore.Core;
using SonarLint.VisualStudio.SLCore.Protocol;
using SonarLint.VisualStudio.SLCore.Service.Project.Models;

namespace SonarLint.VisualStudio.SLCore.Service.Project
{
[JsonRpcClassAttribute("configuration")]
public interface IConfigurationScopeSLCoreService : ISLCoreService
{
/// <summary>
/// Add configuration scope to SLCORE
/// </summary>
/// <param name="params"></param>
Task DidAddConfigurationScopesAsync(DidAddConfigurationScopesParams parameters);

/// <summary>
/// Removes configuration scope from SLCORE
/// </summary>
/// <param name="params"></param>
Task DidRemoveConfigurationScopeAsync(DidRemoveConfigurationScopeParams parameters);
}

public class DidRemoveConfigurationScopeParams
{
public string removeId { get; }

[ExcludeFromCodeCoverage]
public DidRemoveConfigurationScopeParams(string removeId)
{
this.removeId = removeId;
}
}

public class DidAddConfigurationScopesParams
{
public List<ConfigurationScopeDto> addedScopes { get; }

[ExcludeFromCodeCoverage]
public DidAddConfigurationScopesParams(List<ConfigurationScopeDto> addedScopes)
{
this.addedScopes = addedScopes;
}
}
}
39 changes: 39 additions & 0 deletions src/SLCore/Service/Project/Models/BindingConfigurationDto.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
* SonarLint for Visual Studio
* Copyright (C) 2016-2024 SonarSource SA
* mailto:info AT sonarsource DOT com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/

using System.Diagnostics.CodeAnalysis;

namespace SonarLint.VisualStudio.SLCore.Service.Project.Models
{
public class BindingConfigurationDto
{
public string connectionId { get; }
public string sonarProjectKey { get; }
public bool bindingSuggestionDisabled { get; }

[ExcludeFromCodeCoverage]
public BindingConfigurationDto(string connectionId, string sonarProjectKey, bool bindingSuggestionDisabled = true)
{
this.connectionId = connectionId;
this.sonarProjectKey = sonarProjectKey;
this.bindingSuggestionDisabled = bindingSuggestionDisabled;
}
}
}
41 changes: 41 additions & 0 deletions src/SLCore/Service/Project/Models/ConfigurationScopeDto.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/*
* SonarLint for Visual Studio
* Copyright (C) 2016-2024 SonarSource SA
* mailto:info AT sonarsource DOT com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/

using System.Diagnostics.CodeAnalysis;

namespace SonarLint.VisualStudio.SLCore.Service.Project.Models
{
public class ConfigurationScopeDto
{
public string id { get; }
public string name { get; }
public bool bindable { get; }
public BindingConfigurationDto binding { get; }

[ExcludeFromCodeCoverage]
public ConfigurationScopeDto(string id, string name, bool bindable, BindingConfigurationDto binding)
{
this.id = id;
this.name = name;
this.bindable = bindable;
this.binding = binding;
}
}
}

0 comments on commit 6022ebd

Please sign in to comment.