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

61 lines
1.5 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* ConcatenateDecompose.h
*
* Created on: Feb 27, 2015
* Author: dev
*/
#ifndef PAI_FRAME_WORKFLOWENGINE_CONCATENATEDECOMPOSE_H
#define PAI_FRAME_WORKFLOWENGINE_CONCATENATEDECOMPOSE_H
#include "WorkFlowFile.h"
#include "WorkFlowFileWrapper.h"
#include "ModuleInformation.h"
#include "ModuleConnection.h"
#include "WorkFlowDecompose.h"
#include <vector>
#include <map>
#include <set>
class ConcatenateDecomposeTest;
namespace pai{
namespace workflow{
class CConcatenateDecompose:public CWorkFlowDecompose
{
private:
/**
* @brief 对有concatenate模块的工作流进行拆分
*@param[in] workflowFile
*/
void InternalDecomposeWorkFlowFile(CWorkFlowFile* workflowFile);
/**
* @brief 处理concatenate模块直接下游模块判断是否与output模块直接相连
*@param[in] workflowFile
*@param[in] moduleID concatenate模块id
*/
void ProcessDownStreamModule(CWorkFlowFile* workflowFile, const int moduleID);
/**
* @brief 处理concatenate模块上游模块判断各个端口之间是否有棱行
*@param[in] workflowFile
*@param[in] moduleID concatenate模块id
*/
void ProcessUpStreamModule(CWorkFlowFile* workflowFile, const int moduleID);
public:
CConcatenateDecompose(const int &startModuleId);
virtual ~CConcatenateDecompose();
virtual void DecomposeWorkFlowFile(CWorkFlowFileWrapper* workflowFileWrapper);
private:
std::map<int, string> inputId2InputPath;//保存临时输入模块id-》输入路径
friend class ::ConcatenateDecomposeTest;//for test
};
}
}
#endif /* WORKFLOWDECOMPOSE_H_ */