Exemple #1
0
 public void InstallServices(IServiceProvider _map)
 {
     _config    = _map.GetService(typeof(Config)) as Config;
     _hueClient = _map.GetService(typeof(HueCore)) as HueCore;
     _logger    = _map.GetService(typeof(FileLogger)) as FileLogger;
     if (!_config.Model.ffmpegCaptureSettings.useFFMpeg)
     {
         _rgbLighter = _map.GetService(typeof(RGBLighter)) as RGBLighter;
     }
     _stripLighter = _map.GetService(typeof(StripLighter)) as StripLighter;
 }
Exemple #2
0
        private IServiceProvider ConfigureServices(bool isHeadless)
        {
            //setup and add command service.
            _input         = new InputHandler(isHeadless);
            _core          = new Core();
            _screen        = new ScreenReader();
            _zoneProcesser = new ZoneProcessor();
            _hueClient     = new HueCore();
            _rgbLighter    = new RGBLighter();
            _stripLighter  = new StripLighter();
            _socketServer  = new SocketHandler();

            var services = new ServiceCollection();

            if (_config.Model.ffmpegCaptureSettings.useFFMpeg)
            {
                services
                .AddScoped <FileLogger>()
                .AddSingleton(_config)
                .AddSingleton(_input)
                .AddSingleton(_core)
                .AddSingleton(_hueClient)
                .AddSingleton(_screen)
                .AddSingleton(_zoneProcesser)
                .AddSingleton(_stripLighter)
                .AddSingleton(_socketServer);
            }
            else
            {
                services
                .AddScoped <FileLogger>()
                .AddSingleton(_config)
                .AddSingleton(_input)
                .AddSingleton(_core)
                .AddSingleton(_hueClient)
                .AddSingleton(_screen)
                .AddSingleton(_zoneProcesser)
                .AddSingleton(_rgbLighter)
                .AddSingleton(_stripLighter)
                .AddSingleton(_socketServer);
            }
            var provider = new DefaultServiceProviderFactory().CreateServiceProvider(services);

            return(provider);
        }