MsrThreadStatus.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #pragma once
  2. #include "otsdataconst.h"
  3. #include "OTSSample.h"
  4. namespace OTSMODEL {
  5. __declspec(dllexport) const OTS_MSR_THREAD_STATUS DEFAULT_MSR_THREAD_STATUS = OTS_MSR_THREAD_STATUS::READY;
  6. // CMsrSampleStatus command target
  7. class __declspec(dllexport) CMsrThreadStatus : public xmls::ISlo
  8. {
  9. /*protected:
  10. DECLARE_SERIAL(CMsrThreadStatus)*/
  11. public:
  12. CMsrThreadStatus(); // constructor
  13. CMsrThreadStatus(const CMsrThreadStatus&); // copy constructor
  14. CMsrThreadStatus(CMsrThreadStatus*); // copy constructor
  15. CMsrThreadStatus& operator=(const CMsrThreadStatus&); // =operator
  16. BOOL operator==(const CMsrThreadStatus&); // ==operator
  17. virtual ~CMsrThreadStatus(); // destructor
  18. // serialization
  19. //void Serialize(CArchive& ar);
  20. void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);
  21. // status
  22. OTS_MSR_THREAD_STATUS GetStatus() { return m_nStatus; }
  23. void SetStatus(OTS_MSR_THREAD_STATUS a_nStatus) { m_nStatus = a_nStatus; }
  24. // start time
  25. COleDateTime GetStartTime() { return m_timeStart; }
  26. void SetStartTime(COleDateTime a_timeStart) { m_timeStart = a_timeStart; }
  27. // used time
  28. COleDateTimeSpan GetUsedTime() { return m_timeUsed; }
  29. void SetUsedTime(COleDateTimeSpan a_timeUsed) { m_timeUsed = a_timeUsed; }
  30. // end time
  31. COleDateTime GetEndTime() { return m_timeEnd; }
  32. void SetEndTime(COleDateTime a_timeEnd) { m_timeEnd = a_timeEnd; }
  33. // completed samples
  34. COTSSamplesList& GetCompletedSamples() { return m_listCpldSamples; }
  35. void SetCompletedSamples(COTSSamplesList& a_listCpldSamples);
  36. // current start time
  37. COleDateTime GetCurrentStartTime() { return m_timeStartCur; }
  38. void SetCurrentStartTime(COleDateTime a_timeStartCur) { m_timeStartCur = a_timeStartCur; }
  39. // compute time
  40. BOOL ComputeTime(OTS_THREAD_TIME_TYPE a_nType);
  41. protected:
  42. // cleanup
  43. void Cleanup();
  44. // initialization
  45. void Init();
  46. // duplication
  47. void Duplicate(const CMsrThreadStatus& a_oSource);
  48. // status
  49. OTS_MSR_THREAD_STATUS m_nStatus;
  50. // start time
  51. COleDateTime m_timeStart;
  52. // used time
  53. COleDateTimeSpan m_timeUsed;
  54. // end time
  55. COleDateTime m_timeEnd;
  56. // completed samples
  57. COTSSamplesList m_listCpldSamples;
  58. // current start time
  59. COleDateTime m_timeStartCur;
  60. };
  61. typedef std::shared_ptr<CMsrThreadStatus> __declspec(dllexport) CMsrThreadStatusPtr;
  62. typedef std::vector<CMsrThreadStatusPtr> __declspec(dllexport) CMsrThreadStatusList;
  63. }