logplus/Workflow/WFEngine/WorkflowEngine/include/ConcatenateDecompose.h

61 lines
1.5 KiB
C
Raw Normal View History

2026-01-16 17:18:41 +08:00
/*
* 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_ */