SC.cs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. using System;
  2. using System.Collections.Generic;
  3. using Aitex.Core.RT.ConfigCenter;
  4. using Aitex.Core.RT.IOCore;
  5. using MECF.Framework.Common.SCCore;
  6. namespace Aitex.Core.RT.SCCore
  7. {
  8. public static class SC
  9. {
  10. public static ISCManager Manager { set; private get; }
  11. public static Dictionary<string, ISCManager> ModularManager { private set; get; } = new Dictionary<string, ISCManager>();
  12. public static bool IsEnable => Manager != null;
  13. public static void SetItemValue(string name, object value)
  14. {
  15. if (Manager != null)
  16. Manager.SetItemValue(name, value);
  17. }
  18. public static void SetItemValueStringFormat(string name, string value)
  19. {
  20. if (Manager != null)
  21. Manager.SetItemValueStringFormat(name, value);
  22. }
  23. public static void SetItemValue(string name, bool value)
  24. {
  25. if (Manager != null)
  26. Manager.SetItemValue(name, value);
  27. }
  28. public static void SetItemValue(string name, int value)
  29. {
  30. if (Manager != null)
  31. Manager.SetItemValue(name, value);
  32. }
  33. public static void SetItemValue(string name, double value)
  34. {
  35. if (Manager != null)
  36. Manager.SetItemValue(name, value);
  37. }
  38. public static void SetItemValue(string name, string value)
  39. {
  40. if (Manager != null)
  41. Manager.SetItemValue(name, value);
  42. }
  43. public static void SetItemValueFromString(string name, string value)
  44. {
  45. if (Manager != null)
  46. Manager.SetItemValueFromString(name, value);
  47. }
  48. public static SCConfigItem GetConfigItem(string name)
  49. {
  50. if (Manager != null)
  51. return Manager.GetConfigItem(name);
  52. return null;
  53. }
  54. public static bool ContainsItem(string name)
  55. {
  56. if (Manager != null)
  57. return Manager.ContainsItem(name);
  58. return false;
  59. }
  60. public static SCConfigItem GetConfigItem(string path, string name)
  61. {
  62. return GetConfigItem(path+"."+name);
  63. }
  64. public static T GetValue<T>(string name) where T : struct
  65. {
  66. if (Manager != null)
  67. return Manager.GetValue<T>(name);
  68. return default(T);
  69. }
  70. public static string GetStringValue(string name)
  71. {
  72. if (Manager != null)
  73. return Manager.GetStringValue(name);
  74. return null;
  75. }
  76. /// <summary>
  77. /// 如果找不到对应的SC,用默认值代替
  78. /// </summary>
  79. /// <typeparam name="T"></typeparam>
  80. /// <param name="name"></param>
  81. /// <param name="defaultValue"></param>
  82. /// <returns></returns>
  83. public static T SafeGetValue<T>(string name, T defaultValue) where T : struct
  84. {
  85. if (Manager != null)
  86. return Manager.SafeGetValue<T>(name, defaultValue);
  87. return default(T);
  88. }
  89. /// <summary>
  90. /// 如果找不到对应的SC,用默认值代替
  91. /// </summary>
  92. /// <param name="name"></param>
  93. /// <param name="defaultValue"></param>
  94. /// <returns></returns>
  95. public static string SafeGetStringValue(string name, string defaultValue)
  96. {
  97. if (Manager != null)
  98. return Manager.SafeGetStringValue(name, defaultValue);
  99. return null;
  100. }
  101. public static List<SCConfigItem> GetItemList()
  102. {
  103. if (Manager != null)
  104. return Manager.GetItemList();
  105. return null;
  106. }
  107. public static string GetConfigFileContent( )
  108. {
  109. if (Manager != null)
  110. return Manager.GetFileContent();
  111. return "";
  112. }
  113. public static string GetConfigFileContent(string module)
  114. {
  115. if (Manager != null && ModularManager!=null && ModularManager.ContainsKey(module) && ModularManager[module]!=null)
  116. return ModularManager[module].GetFileContent();
  117. return GetConfigFileContent();
  118. }
  119. }
  120. }