#pragma once #include "bean/IOCfg.h" #include "bean/MachineCfg.h" #include "bean/RunCfg.h" #include "../Machine/Machine.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; } RunCfg* GetRunCfg() { return &m_RunCfg; } 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; };