/// <summary> /// Creates a new WrapperProcessStarter instance. /// </summary> /// <param name="wrapperExecutableNameProvider">Provides the name for the wrapper executable to start.</param> /// <param name="pipeToken">PipeToken instance for creating pipe connections.</param> /// <param name="processFactory">IProcessFactory instance for creating a new wrapper process</param> public WrapperProcessStarter(IWrapperExecutableNameProvider wrapperExecutableNameProvider, PipeToken pipeToken, IProcessFactory processFactory) { Raise.ArgumentNullException.IfIsNull(wrapperExecutableNameProvider, nameof(wrapperExecutableNameProvider)); Raise.ArgumentNullException.IfIsNull(pipeToken, nameof(pipeToken)); Raise.ArgumentNullException.IfIsNull(processFactory); _wrapperExecutableNameProvider = wrapperExecutableNameProvider; _pipeToken = pipeToken; _processFactory = processFactory; }