#pragma once #include "DBBase.h" #include "OTSSTDLib.h" #include "STDGroupDB.h" using namespace OTSSQLITE; namespace OTSClassifyEngine { class __declspec(dllexport) CSTDLibDB { public: CSTDLibDB(CDBStoreBasePtr a_datastore); CSTDLibDB(CDBStoreBasePtr a_datastore, CString strFileName); ~CSTDLibDB(); CSTDLibPtr GetSTDLib(BOOL bForce = FALSE); virtual CDBTableBasePtr GetTableInfo() ; CSTDGroupDBPtr GetSTDGroupDB(); virtual BOOL Init(const BOOL a_bClean = FALSE) ; virtual BOOL CreateTable(const BOOL a_bForce = FALSE) ; virtual BOOL DeleteTable() ; virtual BOOL RemoveAllRows() ; virtual BOOL IsDBExist() ; virtual CDBStoreBasePtr GetDatastore() ; virtual CDBQueryBasePtr GetTableQuery(LPCTSTR a_sOrderColumnName = nullptr) ; protected: BOOL ReadSTDLib(); BOOL ReadSTDLib(CDBQueryBasePtr a_query); CStandardItemPtr ReadSTDItem(CDBQueryBasePtr a_query); BOOL GetSTDGroup(CSTDLibPtr& pOretype); BOOL ReadPartSTDLib(); BOOL ReadPartSTDLib(CDBQueryBasePtr a_query); protected: CString m_strFileName; CDBTableBasePtr m_tableInfo; CSTDLibPtr m_pSTDLib; CSTDGroupDBPtr m_STDGroupDB; private: CDBBasePtr myDB; }; typedef std::shared_ptr __declspec(dllexport) CSTDLibDBPtr; }