using System; using System.Collections.Generic; namespace Aitex.Core.RT.ConfigCenter { public class CONFIG { public static ConfigItem Items = new ConfigItem(); public static ICommonConfig InnerConfigManager { private get; set; } public static Dictionary ModularManager { get; private set; } = new Dictionary(); public static object Get(string configName) { return (InnerConfigManager != null) ? InnerConfigManager.GetConfig(configName) : null; } public static void Set(string configName, object value) { if (InnerConfigManager != null) { InnerConfigManager.SetConfig(configName, value); } } public static void Subscribe(string module, string key, Func getter) { if (InnerConfigManager != null) { InnerConfigManager.Subscribe(module, key, getter); } } public static object Poll(string paramName) { return (InnerConfigManager == null) ? null : InnerConfigManager.Poll(paramName); } public static object Poll(string module, string paramName) { if (ModularManager != null && ModularManager.ContainsKey(module) && ModularManager[module] != null) { return ModularManager[module].Poll(paramName); } return Poll(paramName); } public static Dictionary PollConfig(IEnumerable keys) { return (InnerConfigManager == null) ? null : InnerConfigManager.PollConfig(keys); } public static Dictionary PollConfig(string module, IEnumerable keys) { if (ModularManager != null && ModularManager.ContainsKey(module) && ModularManager[module] != null) { return ModularManager[module].PollConfig(keys); } return PollConfig(keys); } } }