ConfigurationManager.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #pragma once
  2. namespace DiosCtrlBox
  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. public:
  22. static ConfigurationManager *Instance();
  23. private:
  24. static ConfigurationManager *m_instance;
  25. std::string GetConfigPath(const std::string &workpath);
  26. void LoadComponentControllerConfig();
  27. void LoadPositionNumberConfig();
  28. void LoadCalibrationConfig();
  29. void LoadMachineryConfig();
  30. void LoadTomoConfig();
  31. void LoadServoDriveConfig();
  32. void LoadExposureDelayTimeConfig();
  33. private:
  34. std::string m_workPath;
  35. std::string m_configPath;
  36. ResDataObject m_componentController;
  37. ResDataObject m_positionNumber;
  38. ResDataObject m_machineryConfig;
  39. ResDataObject m_tomoConfig;
  40. ResDataObject m_servoDrive;
  41. ResDataObject m_motionParamCalRoot;
  42. ResDataObject m_exposureDelayTime;
  43. };
  44. }