GrpcPrint/PrintC/config/ConfigManager.h
2024-05-06 17:10:57 +08:00

53 lines
1.2 KiB
C++

#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;
};