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; }); }