using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; using Codelyzer.Analysis.Model; using CTA.Rules.Models; using PortingAssistant.Client.Model; namespace PortingAssistant.Client.Client { public interface IPortingAssistantClient { Task AnalyzeSolutionAsync(string solutionFilePath, AnalyzerSettings settings); IAsyncEnumerable AnalyzeSolutionGeneratorAsync(string solutionFilePath, AnalyzerSettings settings, [EnumeratorCancellation] CancellationToken cancellationToken = default); Task> AnalyzeFileAsync(string filePath, string projectFile, string solutionFilePath, List preportReferences, List currentReferences, RootNodes rules, ExternalReferences externalReferences, AnalyzerSettings settings); Task> AnalyzeFileAsync(string filePath, string fileContent, string projectFile, string solutionFilePath, List preportReferences, List currentReferences, RootNodes rules, ExternalReferences externalReferences, AnalyzerSettings settings); List ApplyPortingChanges(PortingRequest request); } }