123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- #pragma once
- #include "afx.h"
- #include "OTSFileSys.h"
- #include "STDDataDB.h"
- #include "DBStoreFile.h"
- #include "InclutionSTDData.h"
- #include "ElementRange.h"
- using namespace OTSDATA;
- using namespace OTSSQLITE;
- namespace OTSClassifyEngine {
- class __declspec(dllexport) CSTDFileMgr : public CDBStoreFile
- {
- public:
- CSTDFileMgr();
- virtual ~CSTDFileMgr();
- virtual void Close() override
- {
- m_datastorePtr.reset();
- }
- //Create
- BOOL CreateSTDFile();
- // Load/Save
- BOOL Load(BOOL a_bClear = TRUE);
- // file pathname
- CString GetPathName() { return m_strPathName; }
- void SetPathName(CString a_strPathName) { m_strPathName = a_strPathName; }
- //x-ray
- CSTDItemsList GetSTDItemList() { return m_listSTDItem; }
- void SetSTDItemList(CSTDItemsList& m_listSTDItem, BOOL a_bClear);
- // generate a STDlib
- CInclutionSTDDataPtr GenerateSTDLib(IDENTIFY_KIND a_nIdentifyKind);
- //get system stdlib by stdtype for example general, special
- CInclutionSTDDataPtr GetSysSTDLibByType(SYS_STD_TYPE a_nIdentifyType);
- protected:
- BOOL GetListSTDItem();
-
- BOOL GetListSTDItem(CSTDItemsList& a_listSTDItem);
- //BOOL GetElementRange(const long a_nSTDId, const long nElementSize, CElementRangeList& a_listElementRange);
- BOOL GetSTDData(const long a_nSTDId, CSTDItemPtr a_pSTDItem);
-
- //Get DB
- CSTDDataDBPtr GetSTDDataDB();
- //CElementRangeDBPtr GetElementRangeDB();
- // cleanup
- void Cleanup();
- // initialization
- void Init();
- // duplication
- void Duplicate(const CSTDFileMgr& a_oSource);
- // file pathname
- CString m_strPathName;
- // X-ray list
- CSTDItemsList m_listSTDItem;
- //database
- CSTDDataDBPtr m_pSTDDataDB;
- //CElementRangeDBPtr m_pElementRangeDB;
- // project file extension
- const CString STD_FILE_EXT = _T("db");
- // project file filter
- const CString STD_FILE_FILTER = _T("STD Files (*.db)|*.db|All Files (*.*)|*.*||");
- // STD file system all
- const CString STD_FILE_SYS_ALL = _T("System All STD");
- // STD file system simple oxide
- const CString STD_FILE_SYS_SIMPLE_OXIDE = _T("System simple oxide");
- // STD file system complex oxide
- const CString STD_FILE_SYS_COMPLEX_OXIDE = _T("System complex oxide");
- // STD file system sulfide
- const CString STD_FILE_SYS_SULFIDE = _T("System sulfide");
- // STD file system nitrides
- const CString STD_FILE_SYS_NITRIDES = _T("System nitrides");
- // STD ID start
- const int STD_START_ID = 10000;
-
- };
- typedef std::shared_ptr<CSTDFileMgr> __declspec(dllexport) CSTDFileMgrPtr;
- }
|