#pragma once #include "otsdataconst.h" #include "XMLSerialization.h" namespace OTSMODEL { using namespace OTSDATA; __declspec(dllexport) const OTS_MSR_SAMPLE_STATUS DEFAULT_MSR_SAMPLE_STATUS = OTS_MSR_SAMPLE_STATUS::UNMEASURED; // CMsrSampleStatus command target class __declspec(dllexport) CMsrSampleStatus : public xmls::ISlo { public: CMsrSampleStatus(); // constructor CMsrSampleStatus(const CMsrSampleStatus&); // copy constructor CMsrSampleStatus(CMsrSampleStatus*); // copy constructor CMsrSampleStatus& operator=(const CMsrSampleStatus&); // =operator BOOL operator==(const CMsrSampleStatus&); // ==operator virtual ~CMsrSampleStatus(); // destructor // serialization //void Serialize(CArchive& ar); void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode); // status OTS_MSR_SAMPLE_STATUS GetStatus() { return m_nStatus; } void SetStatus(OTS_MSR_SAMPLE_STATUS a_nStatus) { m_nStatus = a_nStatus; } // start time COleDateTime GetStartTime() { return m_timeStart; } void SetStartTime(COleDateTime a_timeStart) { m_timeStart = a_timeStart; } // used time COleDateTimeSpan GetUsedTime() { return m_timeUsed; } void SetUsedTime(COleDateTimeSpan a_timeUsed) { m_timeUsed = a_timeUsed; } // end time COleDateTime GetEndTime() { return m_timeEnd; } void SetEndTime(COleDateTime a_timeEnd) { m_timeEnd = a_timeEnd; } // completed fields int GetCompletedFields() { return m_nCompletedFields; } void SetCompletedFields(int a_nCompletedFields) { m_nCompletedFields = a_nCompletedFields; } // completed fieldCenter std::vector& GetCompletedFieldsCenter() { return m_listCpltedCenter; } void SetCompletedFieldsCenter(std::vector& a_listCpltedCenter); // current start time COleDateTime GetStartTimeCur() { return m_timeStartCur; } void SetStartTimeCur(COleDateTime a_timeStartCur) { a_timeStartCur = m_timeStartCur; } // compute time BOOL ComputeTime(OTS_MSR_TIME_TYPE a_nType); protected: // cleanup void Cleanup(); // initialization void Init(); // duplication void Duplicate(const CMsrSampleStatus& a_oSource); // status OTS_MSR_SAMPLE_STATUS m_nStatus; // start time COleDateTime m_timeStart; // used time COleDateTimeSpan m_timeUsed; // end time COleDateTime m_timeEnd; // completed fields int m_nCompletedFields; // completed fieldCenter std::vector m_listCpltedCenter; // current start time COleDateTime m_timeStartCur; // last used time COleDateTimeSpan m_timeUsedLast; }; typedef std::shared_ptr __declspec(dllexport) CMsrSampleStatusPtr; typedef std::vector __declspec(dllexport) CMsrSampleStatusList; }