using OmniSharp.Extensions.JsonRpc; using PortingAssistantExtensionServer.Models; using Microsoft.Extensions.Logging; using System.Threading; using System.Threading.Tasks; using PortingAssistantExtensionServer.Services; namespace PortingAssistantExtensionServer.Handlers { [Serial, Method("applyPortingProjectFileChanges")] internal interface ISolutionPortingHandler : IJsonRpcRequestHandler { } internal class PortingHandler : ISolutionPortingHandler { private readonly ILogger _logger; private readonly PortingService _portingService; public PortingHandler(ILogger logger, PortingService portingService) { _logger = logger; _portingService = portingService; } public Task Handle(ProjectFilePortingRequest request, CancellationToken cancellationToken) { _logger.LogInformation($"received porting request: {request}"); return Task.Run(() => _portingService.PortingProjects(request)); } } }