/** * @file IOChecker.h * @brief 工作流输入/输出检查: * 1.检查输入、输出模块是否存在 * 2.检测输出模块的输出路径,是否与其它模块输出路径重复 * * @author 黄军 * @date 2011-10-20 */ #ifndef PAI_FRAME_WORKFLOWENGINE_IOCHECKER_H #define PAI_FRAME_WORKFLOWENGINE_IOCHECKER_H #include "WorkFlowFile.h" #include "WorkflowChecker.h" #include #include namespace pai { namespace workflow { class PAI_WORKFLOWENGINE_EXPORT CIOChecker:public CWorkflowChecker{ public: CIOChecker(); virtual ~CIOChecker(); protected: /** * @brief 工作流输入输出检验器具体方法实现 * @param [in] workflow 待校验的工作流对象 * @param [out] strErrorMsg 返回的错误信息,检验失败函数返回false */ virtual bool StepCheck(CWorkFlowFile* workflow,std::string& strErrorMsg); private: CCompositeParameterItem* CastCompositeParameterItem(CParameterItem*); /** * @brief 从IOModule中抽取,文件路径 * @param [in] ioModuleInfo * @param [in/out] fileVct 抽取的文件路径 */ void ExtractIOModuleFilePaths(CModuleInformation* ioModuleInfo,std::vector& fileVct); }; } } #endif