48 lines
1.2 KiB
C++
48 lines
1.2 KiB
C++
/**
|
||
* @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 <string>
|
||
#include <vector>
|
||
|
||
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<std::string>& fileVct);
|
||
};
|
||
|
||
}
|
||
}
|
||
|
||
#endif
|