hd

CellBranch.h 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*************************************************************************
  2. 【文件名】 CellBranch.h
  3. 【功能模块和目的】 分支节点类头文件
  4. 【开发者及日期】 郑石诺 2015/02/05
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. #include "cellbase.h"
  11. #include "CellAUTOCREATE.h"
  12. /*************************************************************************
  13. 【类名】 CCellBranch
  14. 【功能】
  15. 【接口说明】 分支节点类
  16. 【开发者及日期】 郑石诺 2015/02/05
  17. 【版本】 V1.0.0
  18. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  19. 【更改记录】
  20. *************************************************************************/
  21. class CCellBranch : public CCellBase
  22. {
  23. DECLARE_CELL_AUTOCREATE
  24. public:
  25. CCellBranch(void);
  26. CCellBranch(CCellBranch& CellBranch);
  27. virtual ~CCellBranch(void);
  28. void addBranch(const CString& Value, int Pos);
  29. ////////////////////////////////////////////////////////////////////////////////
  30. //继承自CCellBase
  31. int operate(void);
  32. CCellBase * copy(void);
  33. bool fillData(IFlowDataProvider& Provider);
  34. LPCTSTR name(void) const { return CELL_NAME_BRANCH; }
  35. int maxWaitingTime(void) const { return 0; }
  36. private:
  37. void __release(void);
  38. private:
  39. struct BranchInfo
  40. {
  41. char Value[VAR_LEN]; //分条件比较值
  42. int Pos; //分支要执行的下一节点
  43. };
  44. int m_DefaultPos; // 默认分支要执行的下一节点
  45. CString m_VarName; // 参与比较变量的变量名
  46. CList<BranchInfo*, BranchInfo*> m_BranchList; // 变量链表
  47. };