GrpcPrint/PrintC/config/ConfigManager.h

39 lines
949 B
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 ConfigManager {
public:
static ConfigManager* Instance() {
static ConfigManager cfm;
return &cfm;
}
void Init();
IOCfgWrapper* GetIoCfgWrapper() { return m_IOCfgWrapper; }
MachineCfg* GetMachineCfg() { return m_MachineCfg; }
Machine* GetMachine() { return m_Machine; }
ExtCfg* GetExtCfg() { return &m_ExtCfg; }
RunCfg* GetRunCfg() { return &m_RunCfg; }
AlarmCfgWrapper* GetAlarmCfg() { return m_AlarmCfgWrapper; }
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;
ExtCfg m_ExtCfg;
AlarmCfgWrapper* m_AlarmCfgWrapper;
};