#include "stdafx.h" #include "RptParamFile.h" namespace OTSMODEL { CRptParamFile::CRptParamFile() // constructor { Init(); } CRptParamFile::CRptParamFile(const CRptParamFile& a_oSource) // copy constructor { // can't copy itself if (&a_oSource == this) { return; } // copy data over Duplicate(a_oSource); } CRptParamFile::CRptParamFile(CRptParamFile* a_poSource) // copy constructor { // can't copy itself if (a_poSource == this) { return; } // copy data over Duplicate(*a_poSource); } CRptParamFile& CRptParamFile::operator=(const CRptParamFile& a_oSource) // =operator { // cleanup Cleanup(); // copy the class data over Duplicate(a_oSource); // return class return *this; } BOOL CRptParamFile::operator==(const CRptParamFile&) // ==operator { return FALSE; } CRptParamFile::~CRptParamFile() // destructor { Cleanup(); } void CRptParamFile::Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode) { xmls::xInt xfileMark; xmls::xString xfileVersion; xmls::xString xstrSizeFileFolder; xmls::xString xstrTrigTempFileFolder; xmls::xString xstrRptTempFileFolder; xmls::xString xstrRptTempFilePath; xmls::xString xstrSTDFileFolder; xmls::xDouble xdScale; xmls::xString EleColName; xmls::Slo slo; xmls::Slo MemberEleColName; MemberEleColName.Register("strValue", &EleColName); xmls::xString xstrDefaultComputedColname; xmls::Slo Sol_DefaultComputedColName; Sol_DefaultComputedColName.Register("strValue", &xstrDefaultComputedColname); //xmls:: slo.Register("Version", &xfileVersion); slo.Register("FileFolderSize", &xstrSizeFileFolder); slo.Register("FileFolderTrigTemp", &xstrTrigTempFileFolder); slo.Register("FileFolderRptTemp", &xstrRptTempFileFolder); slo.Register("FilePathRptTemp", &xstrRptTempFilePath); slo.Register("FileFolderSTD", &xstrSTDFileFolder); slo.Register("Scale", &xdScale); slo.Register("ElementsColName", &MemberEleColName); slo.Register("DefaultComputedColName", &Sol_DefaultComputedColName); if (isStoring) { xfileMark = RPT_PARAM_FILE_MARK; xfileVersion = RPT_PARAM_FILE_VERSION; xstrSizeFileFolder = m_strSizeFileFolder; xstrTrigTempFileFolder = m_strTrigTempFileFolder; xstrRptTempFileFolder = m_strRptTempFileFolder; xstrRptTempFilePath = m_strRptTempFilePath; xstrSTDFileFolder = m_strSTDFileFolder; xdScale = m_dScale; EleColName = m_strElementsColName; xstrDefaultComputedColname = m_strDefaultComputedColName; slo.Serialize(true, classDoc, rootNode); } else { slo.Serialize(false, classDoc, rootNode); m_strVersion = xfileVersion.value().c_str(); m_strSizeFileFolder = xstrSizeFileFolder.value().c_str(); m_strTrigTempFileFolder = xstrTrigTempFileFolder.value().c_str(); m_strRptTempFileFolder = xstrRptTempFileFolder.value().c_str(); m_strRptTempFilePath = xstrRptTempFilePath.value().c_str(); m_strSTDFileFolder = xstrSTDFileFolder.value().c_str(); m_dScale = xdScale.value(); m_strElementsColName = EleColName.value().c_str(); m_strDefaultComputedColName = xstrDefaultComputedColname.value().c_str(); } } // cleanup void CRptParamFile::Cleanup() { } // initialization void CRptParamFile::Init() { // file version string m_strVersion = RPT_PARAM_FILE_VERSION; m_strSizeFileFolder = _T(""); m_strTrigTempFileFolder = _T(""); m_strRptTempFileFolder = _T(""); m_strRptTempFilePath = _T(""); m_strSTDFileFolder = _T(""); m_dScale = 1.0; } // duplication void CRptParamFile::Duplicate(const CRptParamFile& a_oSource) { // initialization Init(); // copy data over m_strVersion = a_oSource.m_strVersion; m_strSizeFileFolder = a_oSource.m_strSizeFileFolder; m_strTrigTempFileFolder = a_oSource.m_strTrigTempFileFolder; m_strRptTempFileFolder = a_oSource.m_strRptTempFileFolder; m_strRptTempFilePath = a_oSource.m_strRptTempFilePath; m_strSTDFileFolder = a_oSource.m_strSTDFileFolder; m_dScale = a_oSource.m_dScale; } }