RptParamFile.cpp 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. #include "stdafx.h"
  2. #include "RptParamFile.h"
  3. namespace OTSMODEL {
  4. CRptParamFile::CRptParamFile() // constructor
  5. {
  6. Init();
  7. }
  8. CRptParamFile::CRptParamFile(const CRptParamFile& a_oSource) // copy constructor
  9. {
  10. // can't copy itself
  11. if (&a_oSource == this)
  12. {
  13. return;
  14. }
  15. // copy data over
  16. Duplicate(a_oSource);
  17. }
  18. CRptParamFile::CRptParamFile(CRptParamFile* a_poSource) // copy constructor
  19. {
  20. // can't copy itself
  21. if (a_poSource == this)
  22. {
  23. return;
  24. }
  25. // copy data over
  26. Duplicate(*a_poSource);
  27. }
  28. CRptParamFile& CRptParamFile::operator=(const CRptParamFile& a_oSource) // =operator
  29. {
  30. // cleanup
  31. Cleanup();
  32. // copy the class data over
  33. Duplicate(a_oSource);
  34. // return class
  35. return *this;
  36. }
  37. BOOL CRptParamFile::operator==(const CRptParamFile&) // ==operator
  38. {
  39. return FALSE;
  40. }
  41. CRptParamFile::~CRptParamFile() // destructor
  42. {
  43. Cleanup();
  44. }
  45. void CRptParamFile::Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode)
  46. {
  47. xmls::xInt xfileMark;
  48. xmls::xString xfileVersion;
  49. xmls::xString xstrSizeFileFolder;
  50. xmls::xString xstrTrigTempFileFolder;
  51. xmls::xString xstrRptTempFileFolder;
  52. xmls::xString xstrRptTempFilePath;
  53. xmls::xString xstrSTDFileFolder;
  54. xmls::xDouble xdScale;
  55. xmls::xString EleColName;
  56. xmls::Slo slo;
  57. xmls::Slo MemberEleColName;
  58. MemberEleColName.Register("strValue", &EleColName);
  59. xmls::xString xstrDefaultComputedColname;
  60. xmls::Slo Sol_DefaultComputedColName;
  61. Sol_DefaultComputedColName.Register("strValue", &xstrDefaultComputedColname);
  62. //xmls::
  63. slo.Register("Version", &xfileVersion);
  64. slo.Register("FileFolderSize", &xstrSizeFileFolder);
  65. slo.Register("FileFolderTrigTemp", &xstrTrigTempFileFolder);
  66. slo.Register("FileFolderRptTemp", &xstrRptTempFileFolder);
  67. slo.Register("FilePathRptTemp", &xstrRptTempFilePath);
  68. slo.Register("FileFolderSTD", &xstrSTDFileFolder);
  69. slo.Register("Scale", &xdScale);
  70. slo.Register("ElementsColName", &MemberEleColName);
  71. slo.Register("DefaultComputedColName", &Sol_DefaultComputedColName);
  72. if (isStoring)
  73. {
  74. xfileMark = RPT_PARAM_FILE_MARK;
  75. xfileVersion = RPT_PARAM_FILE_VERSION;
  76. xstrSizeFileFolder = m_strSizeFileFolder;
  77. xstrTrigTempFileFolder = m_strTrigTempFileFolder;
  78. xstrRptTempFileFolder = m_strRptTempFileFolder;
  79. xstrRptTempFilePath = m_strRptTempFilePath;
  80. xstrSTDFileFolder = m_strSTDFileFolder;
  81. xdScale = m_dScale;
  82. EleColName = m_strElementsColName;
  83. xstrDefaultComputedColname = m_strDefaultComputedColName;
  84. slo.Serialize(true, classDoc, rootNode);
  85. }
  86. else
  87. {
  88. slo.Serialize(false, classDoc, rootNode);
  89. m_strVersion = xfileVersion.value().c_str();
  90. m_strSizeFileFolder = xstrSizeFileFolder.value().c_str();
  91. m_strTrigTempFileFolder = xstrTrigTempFileFolder.value().c_str();
  92. m_strRptTempFileFolder = xstrRptTempFileFolder.value().c_str();
  93. m_strRptTempFilePath = xstrRptTempFilePath.value().c_str();
  94. m_strSTDFileFolder = xstrSTDFileFolder.value().c_str();
  95. m_dScale = xdScale.value();
  96. m_strElementsColName = EleColName.value().c_str();
  97. m_strDefaultComputedColName = xstrDefaultComputedColname.value().c_str();
  98. }
  99. }
  100. // cleanup
  101. void CRptParamFile::Cleanup()
  102. {
  103. }
  104. // initialization
  105. void CRptParamFile::Init()
  106. {
  107. // file version string
  108. m_strVersion = RPT_PARAM_FILE_VERSION;
  109. m_strSizeFileFolder = _T("");
  110. m_strTrigTempFileFolder = _T("");
  111. m_strRptTempFileFolder = _T("");
  112. m_strRptTempFilePath = _T("");
  113. m_strSTDFileFolder = _T("");
  114. m_dScale = 1.0;
  115. }
  116. // duplication
  117. void CRptParamFile::Duplicate(const CRptParamFile& a_oSource)
  118. {
  119. // initialization
  120. Init();
  121. // copy data over
  122. m_strVersion = a_oSource.m_strVersion;
  123. m_strSizeFileFolder = a_oSource.m_strSizeFileFolder;
  124. m_strTrigTempFileFolder = a_oSource.m_strTrigTempFileFolder;
  125. m_strRptTempFileFolder = a_oSource.m_strRptTempFileFolder;
  126. m_strRptTempFilePath = a_oSource.m_strRptTempFilePath;
  127. m_strSTDFileFolder = a_oSource.m_strSTDFileFolder;
  128. m_dScale = a_oSource.m_dScale;
  129. }
  130. }