CManageDB.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #pragma once
  2. #include "CppSQLite3.h"
  3. #include "dt.h"
  4. #include "CProduct.h"
  5. #include "CMachineSetup.h"
  6. #include "CHardware.h"
  7. #include "CModuleConfig.h"
  8. #include "CMachineCalibration.h"
  9. #include "CSecurity.h"
  10. #include "CStatisticCounters.h"
  11. #include "CCalibrationConfig.h"
  12. #include <string>
  13. #include <windows.h>
  14. #include <mutex>
  15. using namespace std;
  16. namespace ns_db
  17. {
  18. class __declspec(dllexport) CManageDB
  19. {
  20. public:
  21. static CManageDB* GetInstance();
  22. vector<CDataBaseOperate*> GetAllDataBase();
  23. LONG LoadAllDataBase();
  24. LONG SaveAllDataBase();
  25. string GetCurrentProductPath() { return m_strCurrentProgramPath; };
  26. CHardware* GetCHardware() { return m_pCHardware; };
  27. CModuleConfig* GetCModuleConfig() { return m_pCModuleConfig; };
  28. CStatisticCounters* GetCStatisticCounters() { return m_pCStatisticCounters; };
  29. CProduct* GetCProduct() { return m_pCProduct; };
  30. CMachineSetup* GetCMachineSetup() { return m_pCMachineSetup; };
  31. CMachineCalibration* GetCMachineCalibration() { return m_pCMachineCalibration; };
  32. CSecurity* GetCSecurity() { return m_pCSecurity; };
  33. CCalibrationConfig* GetCCalibrationConfig() { return m_pCCalibrationConfig; };
  34. std::string GetDbNameByTableName(std::string strTableName);
  35. private:
  36. static vector<CDataBaseOperate*> m_vecDataBase;
  37. CHardware* m_pCHardware = nullptr;
  38. CSecurity* m_pCSecurity = nullptr;
  39. CStatisticCounters* m_pCStatisticCounters = nullptr;
  40. CProduct* m_pCProduct = nullptr;
  41. CMachineSetup* m_pCMachineSetup = nullptr;
  42. CModuleConfig* m_pCModuleConfig = nullptr;
  43. CMachineCalibration* m_pCMachineCalibration = nullptr;
  44. CCalibrationConfig* m_pCCalibrationConfig = nullptr;
  45. string m_strCurrentProgramPath;
  46. static CManageDB* m_pInstance;
  47. static std::mutex m_Mutex;
  48. };
  49. }