using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections.Concurrent; using System.Reflection; using System.Threading.Tasks; using Aitex.Core.Util; namespace Aitex.Core.RT.DataCenter { public static class DATA { public static ICommonData InnerDataManager { set; private get; } public static void Subscribe(T instance, string keyPrefix = null) where T : class { if (InnerDataManager != null) InnerDataManager.Subscribe(instance, keyPrefix); } public static void Subscribe(string key, Func getter, SubscriptionAttribute.FLAG flag = SubscriptionAttribute.FLAG.SaveDB) { if (InnerDataManager != null) InnerDataManager.Subscribe(key, getter, flag); } public static void Subscribe(string module, string key, Func getter, SubscriptionAttribute.FLAG flag = SubscriptionAttribute.FLAG.SaveDB) { if (InnerDataManager != null) InnerDataManager.Subscribe(string.Format("{0}.{1}", module, key), getter, flag); } public static object Poll(string paramName) { return (InnerDataManager == null) ? null : InnerDataManager.Poll(paramName); } public static object Poll(string module, string paramName) { return (InnerDataManager == null) ? null : InnerDataManager.Poll(string.Format("{0}.{1}", module, paramName)); } public static Dictionary PollData(IEnumerable keys) { return (InnerDataManager == null) ? null : InnerDataManager.PollData(keys); } public static void Traverse(object instance, string keyPrefix) { if (InnerDataManager != null) InnerDataManager.Traverse(instance, keyPrefix); } public static SortedDictionary> GetDBRecorderList() { return (InnerDataManager == null) ? null : InnerDataManager.GetDBRecorderList(); } } }