using Microsoft.Extensions.Logging;

namespace Inspectron.Epson.PrintServer.Printers;

public class EmulationPrinterFactory : IPrinterFactory
{
    private readonly Dictionary<string, (string OutputPath, byte PrinterId, int PaperWidth)> _printerConfigs;
    private readonly ILogger _logger;

    public EmulationPrinterFactory(
        Dictionary<string, (string OutputPath, byte PrinterId, int PaperWidth)> printerConfigs,
        ILogger logger)
    {
        _printerConfigs = printerConfigs;
        _logger = logger;
    }

    public IEpsonPrinter CreatePrinter()
    {
        return new EmulationPrinterProxy(_printerConfigs, _logger);
    }
}
