logplus/Workflow/WFEngine/WorkflowEngine/include/TemplateInformation.h
2026-01-16 17:18:41 +08:00

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