GrpcPrint/PrintC/config/ConfigManager.h
2024-04-10 16:15:33 +08:00

33 lines
737 B
C++

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