OTSSTDLibFileMgr.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #pragma once
  2. #include "afx.h"
  3. #include "DBStoreFile.h"
  4. #include "ExpressionParseEngine/ParticleSTD.h"
  5. #include "ExpressionParseEngine/ParticleSTDDB.h"
  6. #include "ExpressionParseEngine/ConstantsDataDb.h"
  7. #include "ExpressionParseEngine/ZeroElementRulesDataDB.h"
  8. #include "ExpressionParseEngine/MaxEDSRulesDataDB.h"
  9. using namespace OTSSQLITE;
  10. namespace OTSClassifyEngine
  11. {
  12. class __declspec(dllexport) CSTDLibFileMgr : public CDBStoreFile
  13. {
  14. public:
  15. CSTDLibFileMgr(std::string fileName);
  16. virtual ~CSTDLibFileMgr();
  17. virtual void Close() override
  18. {
  19. m_datastorePtr.reset();
  20. }
  21. BOOL CreateSTDLibFile();
  22. // Load/Save
  23. BOOL LoadPartSTD(ParticleSTDPtr lib, BOOL bClear = TRUE);
  24. BOOL LoadZeroElementRulesData(ParticleSTDPtr lib, BOOL bClear = TRUE);
  25. BOOL LoadMaxEDSRulesData(ParticleSTDPtr lib, BOOL bClear = TRUE);
  26. std::string LoadConstantsData(BOOL bClear = TRUE);
  27. protected:
  28. void Init();
  29. void Cleanup();
  30. //Get DB
  31. CParticleSTDDBPtr GetParticleSTDDB();
  32. CConstantsDataDbPtr GetConstantsDataDb();
  33. CMaxEDSRulesDataDBPtr GetMaxEDSRulesDataDB();
  34. CZeroElementRulesDataDBPtr GetZeroElementRulesDataDB();
  35. protected:
  36. // file pathname
  37. CString m_strPathName;
  38. CParticleSTDDBPtr m_pParticleSTDDB;
  39. CZeroElementRulesDataDBPtr m_pZeroElementRulesDataDB;
  40. CMaxEDSRulesDataDBPtr m_pMaxEDSRulesDataDB;
  41. CConstantsDataDbPtr m_pConstantsDataDb;
  42. };
  43. typedef std::shared_ptr<CSTDLibFileMgr> CSTDLibFileMgrPtr;
  44. }