MsrThreadStatusClr.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. #pragma once
  2. #include "MsrThreadStatus.h"
  3. #include "OTSSampleClr.h"
  4. namespace OTSINTERFACE {
  5. using namespace System;
  6. using namespace OTSDATA;
  7. using namespace OTSMODEL;
  8. public ref class CMsrThreadStatusClr :
  9. public Object
  10. {
  11. public:
  12. CMsrThreadStatusClr();
  13. CMsrThreadStatusClr(CMsrThreadStatusClr^); // copy constructor
  14. CMsrThreadStatusClr(CMsrThreadStatusPtr); // copy constructor
  15. CMsrThreadStatusClr^ operator=( CMsrThreadStatusClr^); // =operator
  16. ~CMsrThreadStatusClr();
  17. !CMsrThreadStatusClr();
  18. CMsrThreadStatusPtr GetMsrThreadStatusPtr();
  19. // status
  20. int GetStatus() { return (int)mMsrStatus->get()->GetStatus(); }
  21. void SetStatus(int a_nStatus) { mMsrStatus->get()->SetStatus ((OTS_MSR_THREAD_STATUS) a_nStatus); }
  22. // start time
  23. DateTime^ GetStartTime()
  24. {
  25. COleDateTime oStartTime = mMsrStatus->get()->GetStartTime();
  26. return gcnew DateTime(oStartTime.GetYear(), oStartTime.GetMonth(), oStartTime.GetDay(), oStartTime.GetHour(), oStartTime.GetMinute(), oStartTime.GetSecond());
  27. }
  28. void SetStartTime(DateTime^ a_timeStart)
  29. {
  30. COleDateTime oStartTime;
  31. int nYear = a_timeStart->Year;
  32. int nMonth = a_timeStart->Month;
  33. int nDay = a_timeStart->Day;
  34. int nHour = a_timeStart->Hour;
  35. int nMin = a_timeStart->Minute;
  36. int nSec = a_timeStart->Second;
  37. if (nYear == 1 && nMonth == 1 && nDay == 1 && nHour == 0 && nMin == 0 && nSec == 0)
  38. {
  39. oStartTime = COleDateTime();
  40. }
  41. else
  42. {
  43. oStartTime.SetDateTime(a_timeStart->Year, a_timeStart->Month, a_timeStart->Day, a_timeStart->Hour, a_timeStart->Minute, a_timeStart->Second);
  44. }
  45. mMsrStatus->get()->SetStartTime(oStartTime);
  46. }
  47. // used time
  48. TimeSpan^ GetUsedTime()
  49. {
  50. COleDateTimeSpan oUsedTime = mMsrStatus->get()->GetUsedTime();
  51. return gcnew TimeSpan(oUsedTime.GetDays(), oUsedTime.GetHours(), oUsedTime.GetMinutes(), oUsedTime.GetSeconds());
  52. }
  53. void SetUsedTime(TimeSpan^ a_timeUsed)
  54. {
  55. COleDateTimeSpan oUsedTime(a_timeUsed->Days, a_timeUsed->Hours, a_timeUsed->Minutes, a_timeUsed->Seconds);
  56. mMsrStatus->get()->SetUsedTime(oUsedTime);
  57. }
  58. // end time
  59. DateTime^ GetEndTime()
  60. {
  61. COleDateTime oEndTime = mMsrStatus->get()->GetEndTime();
  62. return gcnew DateTime(oEndTime.GetYear(), oEndTime.GetMonth(), oEndTime.GetDay(), oEndTime.GetHour(), oEndTime.GetMinute(), oEndTime.GetSecond());
  63. }
  64. void SetEndTime(DateTime^ a_timeEnd)
  65. {
  66. COleDateTime oEndTime;
  67. int nYear = a_timeEnd->Year;
  68. int nMonth = a_timeEnd->Month;
  69. int nDay = a_timeEnd->Day;
  70. int nHour = a_timeEnd->Hour;
  71. int nMin = a_timeEnd->Minute;
  72. int nSec = a_timeEnd->Second;
  73. if (nYear == 1 && nMonth == 1 && nDay == 1 && nHour == 0 && nMin == 0 && nSec == 0)
  74. {
  75. oEndTime = COleDateTime();
  76. }
  77. else
  78. {
  79. oEndTime.SetDateTime(a_timeEnd->Year, a_timeEnd->Month, a_timeEnd->Day, a_timeEnd->Hour, a_timeEnd->Minute, a_timeEnd->Second);
  80. }
  81. mMsrStatus->get()->SetEndTime(oEndTime);
  82. }
  83. // completed samples
  84. COTSSamplesListClr^ GetCompletedSample()
  85. {
  86. auto lstSample = mMsrStatus->get()->GetCompletedSamples();
  87. auto samples = gcnew COTSSamplesListClr();
  88. for each (auto s in lstSample)
  89. {
  90. samples->Add(gcnew COTSSampleClr(s));
  91. }
  92. return samples;
  93. }
  94. void SetCompletedSample(COTSSamplesListClr^ a_listCpldSamples);
  95. protected:
  96. // duplication
  97. void Duplicate( CMsrThreadStatusClr^ a_oSource);
  98. private:
  99. CMsrThreadStatusPtr* mMsrStatus;
  100. };
  101. }