Exemplo n.º 1
0
        private void LoadBindings(SoundboardOptions config)
        {
            if (config == null)
            {
                return;
            }

            _logger.LogInformation("Loading key binding configuration...");
            _lock.EnterWriteLock();

            _bindings.Clear();

            try
            {
                if (config.Bindings != null)
                {
                    foreach (var binding in config.Bindings)
                    {
                        _bindings.Add(
                            KeyBindingParser.Parse(binding.Key, binding.Value));
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Failed to load key bindings: {0}", ex.Message);
            }

            _lock.ExitWriteLock();
            _logger.LogInformation("Loaded key binding configuration.");
        }
        public SoundboardProxyService(
            ILoggerFactory loggerFactory,
            IOptionsSnapshot <SoundboardOptions> options,
            IOptionsMonitor <SoundboardOptions> optionsMonitor)
        {
            _logger  = loggerFactory.CreateLogger <SoundboardProxyService>();
            _http    = new HttpClient();
            _options = options.Value;

            optionsMonitor.OnChange((cfg, _) =>
            {
                _options = cfg;
            });
        }