OTSProgMgrParamFile.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #pragma once
  2. #include "afx.h"
  3. #include "otsdataconst.h"
  4. #include "SEMStageData.h"
  5. #include "OTSGeneralParameters.h"
  6. #include "OTSImageScanParam.h"
  7. #include "OTSImageProcessParam.h"
  8. #include "OTSXRayParam.h"
  9. #include "StageFile.h"
  10. #include "XMLSerialization.h"
  11. #include "MultiLang.h"
  12. // OTS Project File Manger
  13. namespace OTSMODEL
  14. {
  15. using namespace OTSDATA;
  16. // program manager file mark
  17. const int PROG_MGR_FILE_MARK = 'P' + 'R' + 'O' + 'J' + 'E' + 'K' + 'T' + 'M' + 'A' + 'N' + 'A' + 'G' + 'E' + 'R';
  18. // program manger file version
  19. const CString PROG_MGR_FILE_VERSION = _T("1.1.1");
  20. // program manager file
  21. class __declspec(dllexport) COTSProgMgrParamFile : public xmls::ISlo
  22. {
  23. public:
  24. COTSProgMgrParamFile(); // constructor
  25. COTSProgMgrParamFile(const COTSProgMgrParamFile&); // copy constructor
  26. COTSProgMgrParamFile(COTSProgMgrParamFile*); // copy constructor
  27. COTSProgMgrParamFile& operator=(const COTSProgMgrParamFile&); // =operator
  28. virtual ~COTSProgMgrParamFile(); // detractor
  29. // get path name // file pathname
  30. CString GetPathName() { return m_strPathName; }
  31. // set path name
  32. void SetPathName(CString a_strPathName) { m_strPathName = a_strPathName; }
  33. // get SEM stage data
  34. CSEMStageDataPtr GetStageData() { return m_pStageData; }
  35. // Set SEM stage data
  36. void SetStageData(CSEMStageDataPtr a_pLicenseInfo);
  37. // get general parameter
  38. COTSGeneralParametersPtr GetGenParam() { return m_pGenParam; }
  39. // set general parameter
  40. void SetGenParam(COTSGeneralParametersPtr a_pGenParam);
  41. // get image scan parameter
  42. COTSImageScanParamPtr GetImageScanParam() { return m_pImageScanParam; }
  43. // set image scan parameter
  44. void SetImageScanParam(COTSImageScanParamPtr a_pImageScanParam);
  45. // get image process parameter
  46. COTSImageProcessParamPtr GetImageProcParam() { return m_pImageProcParam; }
  47. // set image process parameter
  48. void SetImageProcParam(COTSImageProcessParamPtr a_pImageProcParam);
  49. // get XRay parameter
  50. COTSXRayParamPtr GetXRayParam() { return m_pXRayParam; }
  51. // set XRay parameter
  52. void SetXRayParam(COTSXRayParamPtr a_pXRayParam);
  53. // load program manager file
  54. BOOL Load(CString a_strPathName);
  55. // save program manager file
  56. BOOL Save(CString a_strPathName);
  57. void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);
  58. /*void SetMultiLangData(MultiLang::MultiLangPtr multiL) { m_Lang = multiL; }
  59. MultiLang::MultiLangPtr GetMultiLangParam() { return m_Lang; }*/
  60. protected:
  61. // serialization
  62. void Serialize(CArchive& ar);
  63. // cleanup
  64. void Cleanup();
  65. // initialization
  66. void Init();
  67. // duplication
  68. void Duplicate(const COTSProgMgrParamFile& a_oSource);
  69. // SEM stage data
  70. CSEMStageDataPtr m_pStageData;
  71. // general parameter
  72. COTSGeneralParametersPtr m_pGenParam;
  73. // image scan parameter
  74. COTSImageScanParamPtr m_pImageScanParam;
  75. // image process parameter
  76. COTSImageProcessParamPtr m_pImageProcParam;
  77. // X-Ray parameter
  78. COTSXRayParamPtr m_pXRayParam;
  79. // file pathname
  80. CString m_strPathName;
  81. //MultiLang::MultiLangPtr m_Lang;
  82. };
  83. typedef std::shared_ptr<COTSProgMgrParamFile> __declspec(dllexport) COTSProgMgrParamFilePtr;
  84. }