/* * 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 namespace pai{ namespace workflow { /** * @brief 代码生成器模板信息类 * 包括以下模板信息: * 1.参数与模块头文件 * 2.模块初始化信息,参数初始化信息 * 3.模块连接关系 */ class CTemplateInformation{ public: /** * @brief 是否是并行工作流 */ virtual bool IsParallelWorkflow() = 0; /** * 获得初始化模块信息 * 包括: * 1.初始化模块变量,以及变量值设定 * 2.参数变量名,以及参数值的设定 */ virtual int GetSInitializationBlocks(std::vector& blocks) = 0; virtual int GetInputBufferStatements(std::vector& statements) = 0; virtual int GetOutputBufferStatements(std::vector& statements) = 0; virtual int GetNewBufferStatements(std::vector& statements) = 0; /** * @brief 获得Reduce初始化模板信息 */ virtual int GetReduceInitializationBlocks(std::vector& blocks) = 0; /** * @brief 获得Reduce New Buffer模板信息 */ virtual int GetReduceNewBufferStatements(std::vector& statements) = 0; /** * @brief 获得Reduce Set InputBuffer模板信息 */ virtual int GetReduceInputBufferStatements(std::vector& statements) = 0; /** * @brief 获得Reduce Set OutputBuffer模板信息 */ virtual int GetReduceOutputBufferStatements(std::vector& statements) = 0; virtual ~CTemplateInformation(){}; }; } } #endif