/// <summary> /// Creates a new serial <see cref="ITransport"/> for the given <paramref name="settings"/>. /// </summary> /// /// <param name="settings"> /// The settings for the serial transport to create.</param> /// <param name="hooks"> /// A hooks implementation being called for sent or received data.</param> /// /// <exception cref="ArgumentNullException"> /// A null reference was passed to a method that did not accept it as a valid argument.</exception> public static ITransport Create(SerialTransportSettings settings, ITransportHooks hooks) { Verify.NotNull(settings, nameof(settings)); Verify.NotNull(hooks, nameof(hooks)); settings = new SerialTransportSettings(settings); return(new DefaultSerialTransport(settings, NullLogger.Instance, hooks)); }
/// <summary> /// Creates a <see cref="IFeigReader"/> based on the supplied settings. /// </summary> /// /// <param name="settings"> /// The settings used to create the reader.</param> /// <param name="hooks"> /// A hooks implementation being called for sent or received data.</param> /// /// <exception cref="ArgumentNullException"> /// A null reference was passed to a method that did not accept it as a valid argument.</exception> public static IFeigReader Create(FeigReaderSettings settings, ITransportHooks hooks) { Verify.NotNull(settings, nameof(settings)); Verify.NotNull(hooks, nameof(hooks)); var copy = new FeigReaderSettings(settings); var logger = NullLogger.Instance; var transport = new DefaultFeigTransport(copy.TransportSettings, logger, hooks); return(new DefaultFeigReader(copy, transport, logger)); }