/** * @file CWorkflowFileChecker.h * @brief class brief * * @author 霍吉东 * @date 2011-10-24 */ #ifndef PAI_FRAME_WORKFLOWENGINE_WORKFLOWFILECHECKER_H #define PAI_FRAME_WORKFLOWENGINE_WORKFLOWFILECHECKER_H #include "WorkflowChecker.h" #include "WorkflowConstants.h" #include "ParameterItem.h" #include namespace pai { namespace workflow { class CWorkflowFileChecker: public CWorkflowChecker { public: CWorkflowFileChecker(); virtual ~CWorkflowFileChecker(); protected: /** * @brief 工作流对象的自我检验方法的具体实现 * @param[in] workflow待校验的工作流对象 * @param[out] strErrorMsg 返回的错误信息,所有模块检验通过返回true */ virtual bool StepCheck(CWorkFlowFile* workflow,std::string& strErrorMsg); private: bool CheckModuleInfo(CModuleInformation* modInfo,std::string& strErrorMsg); bool CheckModuleConnect(CModuleConnection* connect,std::string& strErrorMsg); bool IsNotValue(const std::string& str); bool IsNotValue(int num); bool CheckStatisApplyWorkflow(CWorkFlowFile* workflow, std::string& stErrorMsg); bool CheckSerialWorkflow(CWorkFlowFile* workflow, std::string& strErrorMsg); bool CheckRealTimeWorkflow(CWorkFlowFile* workflow, std::string& strErrorMsg); }; } } #endif