private IListenerConfigurator getListenerConfigurator(string type) { if (_log.Enabled) { _log.Debug(GetHashCode(), "getListenerConfigurator"); } IListenerConfigurator ret = null; switch (type) { case "": break; case "UdpListener": ret = new ListenerConfigurator((ListenerBase) new UdpListener(), _session); break; case "TcpListener": ret = new ListenerConfigurator((ListenerBase) new TcpListenerBase(), _session); break; case "EventLogListener": ret = new EventLogListenerConfigurator(); break; case "FileListener": ret = new ListenerConfigurator(new FileListener(), _session); break; case "FolderListener": ret = new ListenerConfigurator(new FolderListener(), _session); break; case "SqlListener": ret = new SqlListenerConfigurator(); break; case "RssListener": ret = new ListenerConfigurator(new RssListener(), _session); break; case "StdOutListener": ret = new ListenerConfigurator(new StdOutListener(), _session); break; case "ComPortListener": ret = new ListenerConfigurator(new ComPortListener(), _session); break; case "MySqlListener": ret = new MySqlListenerConfigurator(); break; default: throw new NotImplementedException(type); } return(ret); }
public HttpListenerObservable(Action <IHttpListenerConfigurator> configuratorCallback, ILogger logger) : base(logger) { if (!HttpListener.IsSupported) { throw new NotSupportedException("Needs Windows XP SP2, Server 2003 or later"); } if (configuratorCallback == null) { throw new ArgumentNullException($"{nameof(configuratorCallback)} should not be null"); } _logger = logger; _listener = new HttpListener(); using (var config = new ListenerConfigurator(_listener)) configuratorCallback(config); }