DATA.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Collections.Concurrent;
  6. using System.Reflection;
  7. using System.Threading.Tasks;
  8. using Aitex.Core.Util;
  9. namespace Aitex.Core.RT.DataCenter
  10. {
  11. public static class DATA
  12. {
  13. public static ICommonData InnerDataManager { set; private get; }
  14. public static void Subscribe<T>(T instance, string keyPrefix = null) where T : class
  15. {
  16. if (InnerDataManager != null)
  17. InnerDataManager.Subscribe<T>(instance, keyPrefix);
  18. }
  19. public static void Subscribe(string key, Func<object> getter, SubscriptionAttribute.FLAG flag = SubscriptionAttribute.FLAG.SaveDB)
  20. {
  21. if (InnerDataManager != null)
  22. InnerDataManager.Subscribe(key, getter, flag);
  23. }
  24. public static void Subscribe(string module, string key, Func<object> getter, SubscriptionAttribute.FLAG flag = SubscriptionAttribute.FLAG.SaveDB)
  25. {
  26. if (InnerDataManager != null)
  27. InnerDataManager.Subscribe(string.Format("{0}.{1}", module, key), getter, flag);
  28. }
  29. public static object Poll(string paramName)
  30. {
  31. return (InnerDataManager == null) ? null : InnerDataManager.Poll(paramName);
  32. }
  33. public static object Poll(string module, string paramName)
  34. {
  35. return (InnerDataManager == null) ? null : InnerDataManager.Poll(string.Format("{0}.{1}", module, paramName));
  36. }
  37. public static Dictionary<string, object> PollData(IEnumerable<string> keys)
  38. {
  39. return (InnerDataManager == null) ? null : InnerDataManager.PollData(keys);
  40. }
  41. public static void Traverse(object instance, string keyPrefix)
  42. {
  43. if (InnerDataManager != null)
  44. InnerDataManager.Traverse(instance, keyPrefix);
  45. }
  46. public static SortedDictionary<string, Func<object>> GetDBRecorderList()
  47. {
  48. return (InnerDataManager == null) ? null : InnerDataManager.GetDBRecorderList();
  49. }
  50. }
  51. }