PeerCastStation.UI.HTTP.APIHost.APIContext.SetSettings C# (CSharp) Méthode

SetSettings() private méthode

private SetSettings ( Newtonsoft.Json.Linq.JObject settings ) : void
settings Newtonsoft.Json.Linq.JObject
Résultat void
      private void SetSettings(JObject settings)
      {
        var acc = PeerCast.AccessController;
        settings.TryGetThen("maxRelays",                 v => acc.MaxRelays = v);
        settings.TryGetThen("maxRelaysPerChannel",       v => acc.MaxRelaysPerChannel = v);
        settings.TryGetThen("maxDirects",                v => acc.MaxPlays = v);
        settings.TryGetThen("maxDirectsPerChannel",      v => acc.MaxPlaysPerChannel = v);
        settings.TryGetThen("maxUpstreamRate",           v => acc.MaxUpstreamRate = v);
        settings.TryGetThen("maxUpstreamRatePerChannel", v => acc.MaxUpstreamRatePerChannel = v);
        settings.TryGetThen("channelCleaner", (JObject channel_cleaner) => {
          channel_cleaner.TryGetThen("inactiveLimit", v => ChannelCleaner.InactiveLimit = v);
          channel_cleaner.TryGetThen("mode", v => ChannelCleaner.Mode = (ChannelCleaner.CleanupMode)v);
        });
        settings.TryGetThen("portMapper", (JObject mapper) => {
          var port_mapper = PeerCastApplication.Current.Plugins.GetPlugin<PeerCastStation.UI.PortMapperPlugin>();
          if (port_mapper!=null) {
            mapper.TryGetThen("enabled", v => port_mapper.Enabled = v);
            port_mapper.DiscoverAsync();
          }
        });
        owner.Application.SaveSettings();
      }