/** * @file ConvertorManager.h * @brief 格式转换器管理器 * @date 2014-7-29 * @author: ZhouWenfei */ #ifndef PAI_FRAME_CONVERTORMANAGER_H__ #define PAI_FRAME_CONVERTORMANAGER_H__ #pragma warning( push ,0) #include #include #include #include #include "QList" #include #include #include #include #include "DepthProgress.h" #include "ConvertorExport.h" #include "IConvertor.h" #include "geometryutils.h" //#include "BaseObject.h" //#include "ObjWelllogRound.h" #include "ObjectIDDescription.h" #pragma execution_character_set("utf-8") #pragma warning( pop ) BEGIN_OSGGRAPHICS_NAMESPACE; class CONVERTOR_EXPORT ConvertorManager { public: int all; ~ConvertorManager(); /** * @brief 获取类单一实例 */ static ConvertorManager&GetInstance() { static ConvertorManager Instance; return Instance; } public: /** * @brief 加载系统中的所有格式转换控制器 * @param[in]convtorTypeName 转换器类型 */ void LoadAllConvertorPlugin(); void UnLoadAllConvertorPlugin(); /** * @brief 获取能解析指定文件的所有转换器 * @param[in]filename 文件名 * @return QVector 指定文件的所有转换器的vector */ QVectorGetSupportConvertors(const QString &filename,DiDepthProgress *pDepthProgress); /** * @brief 有格式转换器能支持文件的后缀名 * @return QVector support filename all convertor vector */ QVectorGetSupportFileExtensions(); /** * @brief 获取所有的格式转换器 * @return QVector all convertor vector */ QVectorGetAllConvertors(); private: ConvertorManager(); private: /** * @brief 统计所有的格式转换器 */ void StatisticalAllConvertors(); /** * @brief 所有的格式转换器 */ QVectorm_vAllConvertors; /** * @brief 所有格式转换器能支持文件的后缀名 */ QVectorm_vAllSuffixFileName; /** * @brief 文件名支持的所有格式转换器 */ QVectorm_vFileNameSupportConvertor; QStringList m_vConvertorNames; }; END_OSGGRAPHICS_NAMESPACE using namespace pai::graphics; #endif