public static ServiceConfigurator <T> ConstructUsing <T>(this ServiceConfigurator <T> configurator, InternalServiceFactory <T> factory) where T : class { configurator.ConstructUsing((d, name, coordinator) => factory(name, coordinator)); return(configurator); }
protected void CreateService <T>(string serviceName, Action <T> startAction, Action <T> stopAction, Action <T> pauseAction, Action <T> continueAction, InternalServiceFactory <T> serviceFactory) where T : class { Coordinator.CreateService(serviceName, (inbox, coordinator) => new LocalServiceController <T>(serviceName, inbox, Coordinator, startAction, stopAction, pauseAction, continueAction, serviceFactory)); }
public static ServiceConfigurator <T> ConstructUsing <T>([NotNull] this ServiceConfigurator <T> configurator, InternalServiceFactory <T> factory) where T : class { if (configurator == null) { throw new ArgumentNullException("configurator"); } configurator.ConstructUsing((d, name, coordinator) => factory(name, coordinator)); return(configurator); }
void Dispose(bool disposing) { if (_disposed) { return; } if (disposing) { _startAction = null; _stopAction = null; _pauseAction = null; _continueAction = null; _serviceFactory = null; } _disposed = true; }
public LocalServiceController(string name, Inbox inbox, IServiceChannel coordinatorChannel, Action <TService> startAction, Action <TService> stopAction, Action <TService> pauseAction, Action <TService> continueAction, InternalServiceFactory <TService> serviceFactory) { _name = name; _inbox = inbox; _coordinatorChannel = coordinatorChannel; _startAction = startAction; _continueAction = continueAction; _serviceFactory = serviceFactory; _pauseAction = pauseAction; _stopAction = stopAction; _log = LogManager.GetLogger("Topshelf.Host.Service." + name); }