#pragma once #include "afx.h" #include "DBStoreFile.h" #include "ExpressionParseEngine/ParticleSTD.h" #include "ExpressionParseEngine/ParticleSTDDB.h" #include "ExpressionParseEngine/ConstantsDataDb.h" #include "ExpressionParseEngine/ZeroElementRulesDataDB.h" #include "ExpressionParseEngine/MaxEDSRulesDataDB.h" using namespace OTSSQLITE; namespace OTSClassifyEngine { class __declspec(dllexport) CSTDLibFileMgr : public CDBStoreFile { public: CSTDLibFileMgr(std::string fileName); virtual ~CSTDLibFileMgr(); virtual void Close() override { m_datastorePtr.reset(); } BOOL CreateSTDLibFile(); // Load/Save BOOL LoadPartSTD(ParticleSTDPtr lib, BOOL bClear = TRUE); BOOL LoadZeroElementRulesData(ParticleSTDPtr lib, BOOL bClear = TRUE); BOOL LoadMaxEDSRulesData(ParticleSTDPtr lib, BOOL bClear = TRUE); std::string LoadConstantsData(BOOL bClear = TRUE); protected: void Init(); void Cleanup(); //Get DB CParticleSTDDBPtr GetParticleSTDDB(); CConstantsDataDbPtr GetConstantsDataDb(); CMaxEDSRulesDataDBPtr GetMaxEDSRulesDataDB(); CZeroElementRulesDataDBPtr GetZeroElementRulesDataDB(); protected: // file pathname CString m_strPathName; CParticleSTDDBPtr m_pParticleSTDDB; CZeroElementRulesDataDBPtr m_pZeroElementRulesDataDB; CMaxEDSRulesDataDBPtr m_pMaxEDSRulesDataDB; CConstantsDataDbPtr m_pConstantsDataDb; }; typedef std::shared_ptr CSTDLibFileMgrPtr; }