using Microsoft.AspNetCore.Mvc;
using WIDESEAWCS_S7Simulator.Application.Protocol;
using WIDESEAWCS_S7Simulator.Core.Entities;
using WIDESEAWCS_S7Simulator.Core.Interfaces;
namespace WIDESEAWCS_S7Simulator.Server.Controllers
{
///
/// 仿真器实例管理控制器
///
[ApiController]
[Route("api/[controller]")]
public class SimulatorInstancesController : ControllerBase
{
private readonly ISimulatorInstanceManager _instanceManager;
private readonly IProtocolTemplateService _protocolTemplateService;
private readonly ILogger _logger;
public SimulatorInstancesController(
ISimulatorInstanceManager instanceManager,
IProtocolTemplateService protocolTemplateService,
ILogger logger)
{
_instanceManager = instanceManager ?? throw new ArgumentNullException(nameof(instanceManager));
_protocolTemplateService = protocolTemplateService ?? throw new ArgumentNullException(nameof(protocolTemplateService));
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
}
///
/// 获取所有实例列表
///
[HttpGet("GetAll")]
[ProducesResponseType(typeof(IEnumerable