using System;
using System.Collections.Generic;
using System.IO.Abstractions;
using BO.ProcessServer.Business.StatisticCounters;
using BO.ProcessServer.Options;
using Connector.PS;

namespace BO.ProcessServer.Business.Workers.Contexts
{
    internal class ProcessingDocumentsCtx : CfgCtx
    {

        public IList<ServerProcess> Processes { get; }
        public IConnectionPS Connection { get; set; }
        public IFileSystem FileSystem { get; set; }


        public ProcessingDocumentsCtx(Configuration configuration,IList<ServerProcess> processes,IConnectionPS connection, IFileSystem fileSystem, Statistics statistics, Pool pool) : base(configuration, statistics, pool)
        {
            Processes = processes ?? throw new ArgumentNullException(nameof(processes));
            Connection = connection ?? throw new ArgumentNullException(nameof(connection));
            FileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem));
        }
    }
}
