using System;
using System.Collections.Generic;
using PortingAssistant.Client.Model;
namespace PortingAssistant.Client.PortingProjectFile
{
///
/// Represents a handler to port projects
///
public interface IPortingProjectFileHandler
{
///
/// Ports a list of projects
///
/// List of projects paths
/// Path to solution file
/// Target framework to be used when porting
/// List of key/value pairs where key is package and value is version number
/// A PortingProjectFileResult object, representing the result of the porting operation
List ApplyProjectChanges(
List projects, string solutionPath, string targetFramework,
Dictionary> upgradeVersions);
///
/// Ports a list of projects
///
/// List of projects paths
/// Path to solution file
/// Target framework to be used when porting
/// List of key/value pairs where key is package and value is version number
/// A PortingProjectFileResult object, representing the result of the porting operation
List ApplyProjectChanges(
List projects, string solutionPath, string targetFramework,
bool includeCodeFix,
Dictionary> upgradeVersions, VisualStudioVersion? visualStudioVersion = null);
}
}