#ifndef __MAS_DETECTORLIB_H #define __MAS_DETECTORLIB_H #include "Detector.h" #define INITIALIZE_DETECTOR_SYMBOL "Initialize" #define DISPOSE_DETECTOR_SYMBOL "Dispose" #define BUILD_DETECTOR_SYMBOL "BuildDetector" #define DESTROY_DETECTOR_SYMBOL "DestroyDetector" #define INFO_DETECTOR_SYMBOL "GetInformation" typedef TZ_INT(*DET_Initialize)(); typedef TZ_INT(*DET_Dispose)(); typedef masd::Detector * (* DET_BuildDetector)(); typedef TZ_INT(* DET_DestroyDetector)(masd::Detector *); typedef TZ_INT(* DET_GetInformation)(TZ_CHAR *); NAMESPACE_MAS_BEGIN class DetectorLib { public: DetectorLib(const std::string & path); ~DetectorLib(); TZ_INT Initialize(DetectorInfo & info); TZ_INT DestroyDetector(masd::Detector * pdet); TZ_INT GetInformation(std::string & info); Detector * BuildDetector(); void GetDetLibKey(std::string & detKey); private: std::string m_path; std::string m_detKey; TZ_DLLHD m_sohd; DET_Initialize m_initialize; DET_Dispose m_dispose; DET_BuildDetector m_buildDetector; DET_DestroyDetector m_destroyDetector; DET_GetInformation m_getInformation; }; NAMESPACE_MAS_END #endif