Beispiel #1
0
        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);
        }
Beispiel #2
0
 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));
 }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        void Dispose(bool disposing)
        {
            if (_disposed)
            {
                return;
            }
            if (disposing)
            {
                _startAction    = null;
                _stopAction     = null;
                _pauseAction    = null;
                _continueAction = null;
                _serviceFactory = null;
            }

            _disposed = true;
        }
Beispiel #5
0
        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);
        }