IDataSource.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace Aitex.UI.Charting.Model
  6. {
  7. public class RecipeSyncPoint
  8. {
  9. public DateTime StepTime { get; set; }
  10. public string StepName { get; set; }
  11. public override string ToString()
  12. {
  13. return string.Format("{0} {1}", StepTime.ToString("yyyy/MM/dd HH:mm:ss"), StepName);
  14. }
  15. }
  16. public interface IDataSource : IDisposable
  17. {
  18. #if false
  19. /// <summary>
  20. /// Open data source object
  21. /// </summary>
  22. /// <param name="timeBegin"></param>
  23. /// <param name="timeEnd"></param>
  24. /// <param name="sourceName"></param>
  25. /// <returns></returns>
  26. bool Open(DateTime timeBegin, DateTime timeEnd, string sourceName);
  27. /// <summary>
  28. /// Get all data names
  29. /// </summary>
  30. IEnumerable<string> DataNames { get; set; }
  31. #endif
  32. /// <summary>
  33. /// 数据实体
  34. /// </summary>
  35. Dictionary<string, DataItem> Datas { get; set; }
  36. /// <summary>
  37. /// Get name of this data source
  38. /// </summary>
  39. string Title { get; set; }
  40. /// <summary>
  41. /// Get chamber name
  42. /// </summary>
  43. string ChamberName { get; set; }
  44. /// <summary>
  45. /// Get wafer display
  46. /// </summary>
  47. string WaferDisplayIndex { get; set; }
  48. /// <summary>
  49. /// Get description of this data object
  50. /// </summary>
  51. string Description { get; set; }
  52. /// <summary>
  53. /// Get actual data begin time
  54. /// </summary>
  55. DateTime BeginTime { get; set; }
  56. /// <summary>
  57. /// Get actual data end time
  58. /// </summary>
  59. DateTime EndTime { get; set; }
  60. /// <summary>
  61. /// 时间位移
  62. /// </summary>
  63. TimeSpan TimeMove { get; set; }
  64. /// <summary>
  65. /// 同步时间点
  66. /// </summary>
  67. RecipeSyncPoint SyncPoint { get; set; }
  68. /// <summary>
  69. /// Get recipe related step information
  70. /// </summary>
  71. List<RecipeSyncPoint> RecipeSteps { get; set; }
  72. /// <summary>
  73. /// Get specific datas from the data source object
  74. /// </summary>
  75. /// <param name="dataName"></param>
  76. /// <param name="beginTime"></param>
  77. /// <param name="endTime"></param>
  78. /// <param name="returnDataItem"></param>
  79. /// <returns></returns>
  80. bool GetData(string dataName, DateTime beginTime, DateTime endTime, out DataItem returnDataItem);
  81. /// <summary>
  82. /// Get specific datas from the data source object
  83. /// </summary>
  84. /// <param name="dataNames"></param>
  85. /// <param name="beginTime"></param>
  86. /// <param name="endTime"></param>
  87. /// <param name="returnDataItem"></param>
  88. /// <returns></returns>
  89. bool GetData(List<string> dataNames, DateTime beginTime, DateTime endTime, out List<DataItem> returnDataItems);
  90. }
  91. #if false
  92. /// <summary>
  93. /// Data object definitions
  94. /// </summary>
  95. [Serializable]
  96. public class DataItem
  97. {
  98. /// <summary>
  99. /// data name
  100. /// </summary>
  101. public string DataName { get; set; }
  102. /// <summary>
  103. /// time stamp array
  104. /// </summary>
  105. public List<DateTime> TimeStamp { get; set; }
  106. /// <summary>
  107. /// raw data array
  108. /// </summary>
  109. public List<float> RawData { get; set; }
  110. }
  111. #endif
  112. }