#pragma once #include "bean/IOCfg.h" #include "bean/MachineCfg.h" #include "bean/RunCfg.h" #include "../Machine/Machine.h" #include "bean/AlarmCfg.h" #include "bean/ExtCfg.h" class Machine; class ConfigManager { public: static ConfigManager* Instance() { static ConfigManager* cfm = new ConfigManager(); return cfm; } void Init(); IOCfgWrapper* GetIoCfgWrapper() { return m_IOCfgWrapper; } MachineCfg* GetMachineCfg() { return m_MachineCfg; } Machine* GetMachine() { return m_Machine; } ExtCfgNew* GetExtCfg() { return &m_ExtCfg; } RunCfg* GetRunCfg() { return &m_RunCfg; } AlarmCfgWrapper* GetAlarmCfg() { return m_AlarmCfgWrapper; } ParamLimitCfgNew* GetParamLimitCfg() { return &m_ParamLimitCfg; } private: ConfigManager(); virtual ~ConfigManager(); ConfigManager(const ConfigManager& cfg) = delete; ConfigManager& operator= (const ConfigManager& cfg) = delete; private: Machine* m_Machine; IOCfgWrapper* m_IOCfgWrapper; MachineCfg* m_MachineCfg; RunCfg m_RunCfg; AlarmCfgWrapper* m_AlarmCfgWrapper; ParamLimitCfgNew m_ParamLimitCfg; ExtCfgNew m_ExtCfg; public: AxisCfg m_MoldCfg; AxisCfg m_LoadCfg; AxisCfg m_ArmCfg; AxisCfg m_SupplyCfg; AxisCfg m_CleanCfg; AxisCfg m_EleCfg; };