Ejemplo n.º 1
0
 public ConfigWatcher(
     IConfigLocator configLocator,
     IEventAggregator eventAggregator)
 {
     _configLocator   = configLocator;
     _eventAggregator = eventAggregator;
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 设定配置的值
        /// </summary>
        /// <typeparam name="T">值的类型</typeparam>
        /// <param name="name">配置名</param>
        /// <param name="value">配置的值</param>
        public void Set <T>(string name, T value)
        {
            Guard.NotNull(name, "name");
            if (locators.Count <= 0)
            {
                throw new RuntimeException("No Reg locator. please Reg() locator first.");
            }

            IConfigLocator configLocator = null;
            string         val;

            foreach (var locator in locators)
            {
                if (locator.TryGetValue(name, out val))
                {
                    configLocator = locator;
                }
            }

            if (configLocator == null)
            {
                configLocator = locators.Last();
            }

            ITypeStringConverter converter;

            if (!typeStringConverters.TryGetValue(typeof(T), out converter))
            {
                throw new ConverterException("Can not find [" + typeof(T) + "] coverter impl.");
            }

            configLocator.Set(name, converter.ConvertToString(value));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 构造配置容器
        /// </summary>
        /// <param name="converters">转换器</param>
        /// <param name="locator">配置定位器</param>
        public Config(IConverters converters, IConfigLocator locator)
        {
            Guard.Requires <ArgumentNullException>(converters != null);
            Guard.Requires <ArgumentNullException>(locator != null);

            this.converters = converters;
            this.locator    = locator;
            watches         = new Dictionary <string, List <Action <object> > >();
        }
Ejemplo n.º 4
0
 public DeviceReenumerator(
     ILogger logger,
     IINIFile config,
     IConfigLocator configLocator)
 {
     _logger        = logger;
     _config        = config;
     _configLocator = configLocator;
 }
Ejemplo n.º 5
0
        //TODO: Get configs to use this class, and then update the setup scripts & appveyor to load into appData

        public JsonConfigurationStore(IConfigLocator configLocator)
        {
            _configLocator = configLocator;
        }
Ejemplo n.º 6
0
 /// <summary>
 /// 注册一个配置定位器
 /// 框架会依次遍历配置定位器来获取配
 /// </summary>
 /// <param name="locator">配置定位器</param>
 /// <param name="priority">查询优先级(值越小越优先)</param>
 public void Reg(IConfigLocator locator, int priority = int.MaxValue)
 {
     Guard.NotNull(locator, "locator");
     locators.Add(locator, priority);
 }
Ejemplo n.º 7
0
 public SharedVariablesProvider(IConfigLocator configLocator)
 {
     _configLocator = configLocator;
 }
Ejemplo n.º 8
0
 /// <summary>
 /// 注册一个配置定位器
 /// </summary>
 /// <param name="locator">配置定位器</param>
 public void SetLocator(IConfigLocator locator)
 {
     Guard.Requires <ArgumentNullException>(locator != null);
     this.locator = locator;
 }
Ejemplo n.º 9
0
 public JsonEnvironmentProvider(IConfigLocator configLocator)
 {
     _configLocator = configLocator;
 }