#pragma once #include "../external/SQLiteCpp/SQLiteCpp.h" #include "dao/HbdLanguageDao.h" #include "dao/MachineCfgDao.h" #include "dao/BaseConfigDao.h" #include "dao/AxisCfgDao.h" #include "dao/IOCfgDao.h" #include "dao/ScanCfgDao.h" #include "dao/InfoTextDao.h" #include "dao/PowerCompensateDao.h" #include "dao/AlarmCfgDao.h" #include "dao/SystemBaseDao.h" #include "dao/ParamSetCfgDao.h" #include "dao/CommunicationCfgDao.h" #include "dao/PrepareJobCfgDao.h" #include "dao/IOVersionDao.h" #include "dao/ScannerControlCfgDao.h" #include #include #include "bean/HbdLanguage.h" #include "bean/CoverCfg.h" #include "bean/ExtCfg.h" #include "bean/AxisCfg.h" #include "bean/ScanParamCfg.h" #include "bean/ScanTestCfg.h" #include "bean/CorrectParamCfg.h" #include "bean/AlarmCfg.h" #include "bean/SystemBase.h" #include "../Machine/Machine.h" #include "bean/ParamSetCfg.h" #include "bean/FavoriteCfg.h" #include "../Communication/ConnectInterface.h" #include "bean/CameraCalibrationCfg.h" #include "../global.h" using namespace std; enum ConfigFunc{ SAVECONFIG =0, SAVEMACHINECONFIG, DELETEMACHINEIO, }; class ConfigManager { public: static ConfigManager* GetInstance(); void Init(); bool InitFromSetup(void); void SaveConfig(); //传 void SaveExtConfig() { m_pBaseConfigDao->SaveExtCfg(m_ExtCfg); } void SaveMachineConfig() { m_pMachineCfgDao->Save(m_MachineCfg); } //传 void SaveParamSetCfg() { m_pParamSetCfgDao->Save(m_ParamSetCfg); } void Export(string file_path); //导入导出先放放 void Import(string file_path); void ExportPC(string file_path); void ImportPC(string file_path); void ExportParamSet(string file_path); void ImportParamSet(string file_path); map* GetAxisSetting() { return &m_AxisCfgs; } //不传 AxisCfg* GetArmCfg(); //以下几个已经传了 AxisCfg* GetMoldCfg(); AxisCfg* GetLoadCfg(); AxisCfg* GetSupplyCfg(); AxisCfg* GetCleanCfg() { return m_CleanCfg; } AxisCfg* GetEleCfg() { return m_EleCfg; } CoverCfg* GetCoverCfg() { return &m_CoverCfg; } //不传 界面没有用到 ExtCfg* GetExtCfg() { return &m_ExtCfg; } //已传 1 RunCfg* GetRunCfg() { return &m_RunCfg; } //未传 UIShowCfg* GetUIShowCfg() { return &m_UIShowCfg; } //未传 IOCfgWrapper* GetIoCfgWrapper() { return m_IOCfgWrapper; } //传的参数 void DeleteMachineIO(); //传 vector* GetIOVersions(int machineid); //返回一个string, req-rsp模式 PowderEstimateCfg* GetPowderEstimateCfg() { return &m_PowderEstimateCfg; } //传 map* GetCommunicationCfg() { return m_pCommunicationCfgDao->GetCommunicationCfg(); } //传 InfraredTempCfg* GetInfraredTempCfg() { //已传 return &m_InfraredTempCfg; } ParamLimitCfg* GetParamLimitCfg() { return &m_ParamLimitCfg; } //已传 MachineCfg* GetMachineCfg() { return &m_MachineCfg; } //已传 Machine* GetMachine() { return m_Machine; } AlarmCfgWrapper* GetAlarmCfg() { return m_AlarmCfgWrapper; } RecoatCheckCfg* GetRecoatCheckCfg() { return &m_RecoatCheckCfg; } HbdLanguage* GetLanguage(int id); void GetDefaultText(map& textmap); ParamSetCfg* GetParamSetCfg() { return &m_ParamSetCfg; } //map* GetLaserCfgMap() { return &m_pLaserCfgDao->m_LaserCfgMap; } //vector* GetLaserCfgs() { return &m_pLaserCfgDao->m_LaserCfgs; } map* GetScannerControlCfg() { return &m_ScannerControlCfgDao->m_ScannerControlCfgMap; } vector* GetScannerControlCfgs() { return &m_ScannerControlCfgDao->m_ScannerControlCfgs; } vector* GetMatchScannerControlCfg() { return &m_ScannerControlCfgDao->m_MatchCfg; } ScannerControlCfgDao* GetScannerControlCfgDao() { return m_ScannerControlCfgDao; } //vector *GetMatchLaser() { return &m_pLaserCfgDao->m_MatchLaser; } //LaserCfgDao* GetLaserCfgDao() { return m_pLaserCfgDao; } FavoriteCfg* GetFavoriteCfg() { return &m_FavoriteCfg; } FixPointDao* GetFixPointDao() { return m_ScannerControlCfgDao->GetFixPointDao(); } CameraCalibrationCfg* GetCameraCalibrationCfg() { return &m_CameraCalibrationCfg; } void SaveCameraCalibrationCfg() { SQLite::Transaction transaction(*m_pDB); m_pBaseConfigDao->SaveCameraCalibrationCfg(m_CameraCalibrationCfg); transaction.commit(); } void AddComRefCfg(CommunicationCfg* cfg, IConnect* ic) { m_ComRefCfg[cfg] = ic; } map* GetComRefCfg() { return &m_ComRefCfg; } // map* GetMitsubishiCfg() { return &m_MitsubishiCfgMap; } // map* GetSanyoCfg() { return &m_SanyoCfgMap; } // map* GetSiemensCfg() { return &m_SiemensCfgMap; } // map* GetServoCfg() { return &m_ServoCfgMap; } void UpdateZeroOffset(int id, long value); map* GetPreJobParamCfg() { return &m_PrepareJobCfgs; } void SavePreJobParamCfg() { m_PrepareJobCfgDao->Save(m_MachineCfg.m_MachineType->GetValue(), m_PrepareJobCfgs); } void SendCfgToClients(); void UpdateCfg(const ReadData& rd); private: ConfigManager(const ConfigManager&) {}; ConfigManager& operator=(const ConfigManager&) {}; ConfigManager(); ~ConfigManager(); void GenerateTable(); void ReadConfig(); void Export(string &content, string file_path); void Import(string &content, string file_path); private: SQLite::Database* m_pDB; HbdLanguageDao* m_pHbdLanguageDao; MachineCfgDao* m_pMachineCfgDao; BaseConfigDao* m_pBaseConfigDao; AxisCfgDao* m_pAxisConfigDao; IOCfgDao* m_pIOCfgDao; CommunicationCfgDao* m_pCommunicationCfgDao; InfoTextDao* m_pInfoTextDao; AlarmCfgDao* m_pAlarmCfgDao; SystemBaseDao* m_pSystemBaseDao; ParamSetCfgDao* m_pParamSetCfgDao; //LaserCfgDao* m_pLaserCfgDao; PrepareJobCfgDao* m_PrepareJobCfgDao; IOVersionDao* m_IOVersionDao; ScannerControlCfgDao* m_ScannerControlCfgDao; SystemBaseCfg m_SystemBaseCfg; map m_LanguageMap; MachineCfg m_MachineCfg; ExtCfg m_ExtCfg; ExtCfgNew m_ExtCfgNew; map m_AxisCfgs; AxisCfg* m_MoldCfg; AxisCfg* m_LoadCfg; AxisCfg* m_ArmCfg; AxisCfg* m_SupplyCfg; AxisCfg* m_CleanCfg; AxisCfg* m_EleCfg; CoverCfg m_CoverCfg; RunCfg m_RunCfg; //map m_LaserCfgs; FavoriteCfg m_FavoriteCfg; ParamLimitCfg m_ParamLimitCfg; ParamLimitCfgNew m_ParamLimitCfgNew; IOCfgWrapper* m_IOCfgWrapper; map*> m_IOVersions; map m_ComRefCfg; CameraCalibrationCfg m_CameraCalibrationCfg; PowderEstimateCfg m_PowderEstimateCfg; ParamSetCfg m_ParamSetCfg; AlarmCfgWrapper* m_AlarmCfgWrapper; Machine* m_Machine; RecoatCheckCfg m_RecoatCheckCfg; map m_PrepareJobCfgs; InfraredTempCfg m_InfraredTempCfg; UIShowCfg m_UIShowCfg; };