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

85 lines
2.1 KiB
C
Raw Normal View History

2026-01-16 17:18:41 +08:00
#ifndef _PAI_FRAME_MULTIWAVEPROCESSER_H_
#define _PAI_FRAME_MULTIWAVEPROCESSER_H_
#include "Module.h"
#include "WorkFlowFile.h"
using namespace pai::module;
namespace pai {
namespace workflow{
enum ParamOperateType
{
ADD_MULTIWAVE_PARAMS,
DELETE_MULTIWAVE_PARAMS
};
class MultiwaveProcesser
{
public:
/**
* @brief
* @param pModule
* @param workflow
* @return
*/
static void ProcessForAdd(CModule *pModule, CWorkFlowFile *workflow);
/**
* @brief
* @param pModule
* @param workflow
* @return
*/
static void ProcessForParameterChange(CModule *pModule, CWorkFlowFile *workflow);
/**
* @brief
* @param pModule
* @param workflow
* @return
*/
static void ProcessForModuleTypeChange(CModule *pModule, CWorkFlowFile *workflow);
/**
* @brief
* @param pModule
* @param workflow
* @return
*/
static void ProcessForDelete(CModule *pModule, CWorkFlowFile *workflow);
private:
/**
* @brief
* @param pModule
* @return
*/
static void AddMultiwaveParams(CModule *pModule);
/**
* @brief
* @param pParameter
* @return
*/
static void DeleteMultiwaveParams(CModuleParameter *pParamter);
/**
* @brief
* @param pModule
* @param workflow
* @param operateType
* @return
*/
static void MultiwaveParamsEdit(CModule *pModule, CWorkFlowFile *workflow, ParamOperateType operateType);
/**
* @brief pModule外工作流中是否有能够确定添加多波参数的模块
* @param pModule
* @param workflow
* @return
*/
static bool HasMultiwaveModules(CModule *pModule, CWorkFlowFile *workflow);
};
}
}
#endif