#pragma once #include "OTSSemBase.h" #include "OTSScanBase.h" #include "OTSEDSBase.h" namespace OTSController { class __declspec(dllexport)COTSHardwareMgr { public: COTSHardwareMgr(); ~COTSHardwareMgr(); public: // get SEM controller CSemBasePtr GetSemControllerMgrPtr(); // get EDS controller COTSEDSBasePtr GetEDSControllerPtr(); // get scan controller COTSScanBasePtr GetScanControllerPtr(); private: // Read XML BOOL GetXMLVal(const CString& szXmlFileName, CString& szSemName, CString& szEdsName); // SemControllerName: (SemName) Read from registry int GetSemControllerID(const CString& SEMControllerName); // EDSControllerName: (EDSName) Read from registry int GetEDSControllerID(const CString& EDSControllerName); private: CSemBasePtr m_SemBasePtr; COTSEDSBasePtr m_EDSPtr; COTSScanBasePtr m_SCanPtr; }; typedef std::shared_ptr __declspec(dllexport) COTSHardwareMgrPtr; }