67 lines
1.8 KiB
C++
67 lines
1.8 KiB
C++
/*
|
|
* CWorkflowFileSourceInformation.h
|
|
*
|
|
* Created on: Jul 28, 2011
|
|
* Author: dev
|
|
*/
|
|
|
|
#ifndef PAI_FRAME_WORKFLOWENGINE_CTEMPLATEINFORMATION_H
|
|
#define PAI_FRAME_WORKFLOWENGINE_CTEMPLATEINFORMATION_H
|
|
|
|
#include "SStatements.h"
|
|
#include "SStatementBlocks.h"
|
|
#include <vector>
|
|
namespace pai{
|
|
namespace workflow {
|
|
/**
|
|
* @brief 代码生成器模板信息类
|
|
* 包括以下模板信息:
|
|
* 1.参数与模块头文件
|
|
* 2.模块初始化信息,参数初始化信息
|
|
* 3.模块连接关系
|
|
*/
|
|
class CTemplateInformation{
|
|
|
|
public:
|
|
|
|
/**
|
|
* @brief 是否是并行工作流
|
|
*/
|
|
virtual bool IsParallelWorkflow() = 0;
|
|
|
|
/**
|
|
* 获得初始化模块信息
|
|
* 包括:
|
|
* 1.初始化模块变量,以及变量值设定
|
|
* 2.参数变量名,以及参数值的设定
|
|
*/
|
|
virtual int GetSInitializationBlocks(std::vector<SInitializationBlock>& blocks) = 0;
|
|
virtual int GetInputBufferStatements(std::vector<SSettingInputBufferStatement>& statements) = 0;
|
|
virtual int GetOutputBufferStatements(std::vector<SSettingOutputBufferStatement>& statements) = 0;
|
|
virtual int GetNewBufferStatements(std::vector<SNewBufferStatement>& statements) = 0;
|
|
|
|
/**
|
|
* @brief 获得Reduce初始化模板信息
|
|
*/
|
|
virtual int GetReduceInitializationBlocks(std::vector<SInitializationBlock>& blocks) = 0;
|
|
/**
|
|
* @brief 获得Reduce New Buffer模板信息
|
|
*/
|
|
virtual int GetReduceNewBufferStatements(std::vector<SNewBufferStatement>& statements) = 0;
|
|
/**
|
|
* @brief 获得Reduce Set InputBuffer模板信息
|
|
*/
|
|
virtual int GetReduceInputBufferStatements(std::vector<SSettingInputBufferStatement>& statements) = 0;
|
|
/**
|
|
* @brief 获得Reduce Set OutputBuffer模板信息
|
|
*/
|
|
virtual int GetReduceOutputBufferStatements(std::vector<SSettingOutputBufferStatement>& statements) = 0;
|
|
|
|
virtual ~CTemplateInformation(){};
|
|
};
|
|
|
|
}
|
|
}
|
|
|
|
#endif
|