ConfigurationManager.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #pragma once
  2. namespace DIOS::Dev::Detail::MachineryECOM
  3. {
  4. class ConfigurationManager
  5. {
  6. public:
  7. ConfigurationManager();
  8. ~ConfigurationManager();
  9. public:
  10. void Initialize(const std::string &workpath);
  11. ResDataObject &GetPositionNumberConfig(const std::string &key);
  12. ResDataObject &GetCalibrationConfig(const std::string &key);
  13. std::string GetControllerClassID(const std::string &key);
  14. BOOL GetAllMachineryConfigs(ResDataObject &out);
  15. BOOL GetAllTomoConfigs(ResDataObject &out);
  16. ResDataObject &GetTomoConfig(const std::string &key);
  17. ResDataObject &GetMachineryConfig(const std::string &key);
  18. ResDataObject &GetServoDriveConfig(const std::string &key);
  19. ResDataObject &GetExpousreDelayTimeConfig();
  20. BOOL UpdateCalibrationConfig(const std::string &key, ResDataObject &params);
  21. ResDataObject& GetWSConfig(const std::string& key);
  22. ResDataObject& GetConfigTubeVertical(const std::string& key);
  23. ResDataObject& GetConfigTubeHorizontal(const std::string& key);
  24. ResDataObject& GetConfigTubeRotation(const std::string& key);
  25. ResDataObject& GetConfigTomoMotionLimitation(const std::string& key);
  26. BOOL UpdateMotionConfigTubeAngle(const std::string& key, ResDataObject& params);
  27. BOOL UpdateMotionConfigTubeHeight(const std::string& key, ResDataObject& params);
  28. BOOL UpdateMotionConfigTubeHorizontal(const std::string& key, ResDataObject& params);
  29. public:
  30. static ConfigurationManager *Instance();
  31. private:
  32. static ConfigurationManager *m_instance;
  33. std::string GetConfigPath(const std::string &workpath);
  34. void LoadComponentControllerConfig();
  35. void LoadPositionNumberConfig();
  36. void LoadCalibrationConfig();
  37. void LoadMachineryConfig();
  38. void LoadTomoConfig();
  39. void LoadServoDriveConfig();
  40. void LoadExposureDelayTimeConfig();
  41. void LoadWorkstationConfig();
  42. void LoadMotionConfigVertical();
  43. void LoadMotionConfigHorizontal();
  44. void LoadMotionConfigRotation();
  45. void LoadConfigTomoMotionLimitation();
  46. private:
  47. std::string m_workPath;
  48. std::string m_configPath;
  49. ResDataObject m_componentController;
  50. ResDataObject m_positionNumber;
  51. ResDataObject m_machineryConfig;
  52. ResDataObject m_tomoConfig;
  53. ResDataObject m_servoDrive;
  54. ResDataObject m_motionParamCalRoot;
  55. ResDataObject m_exposureDelayTime;
  56. ResDataObject m_wsConfig;
  57. ResDataObject m_TomoMotionConfig;
  58. ResDataObject m_motionConfigVerticalRoot;
  59. ResDataObject m_motionConfigVertical;
  60. ResDataObject m_motionConfigHorizontalRoot;
  61. ResDataObject m_motionConfigHorizontal;
  62. ResDataObject m_motionConfigRotationRoot;
  63. ResDataObject m_motionConfigRotation;
  64. };
  65. }