hd

CellSocket.h 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /*************************************************************************
  2. 【文件名】 CellSocket.h
  3. 【功能模块和目的】 SOCKET操作节点类头文件
  4. 【开发者及日期】 郑石诺 2016/01/04
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. #include "cellbase.h"
  11. #include "CellAUTOCREATE.h"
  12. /*************************************************************************
  13. 【类名】 CCellSocket
  14. 【功能】
  15. 【接口说明】 SOCKET操作节点类
  16. 【开发者及日期】 郑石诺 2016/01/04
  17. 【版本】 V1.0.0
  18. 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司
  19. 【更改记录】
  20. *************************************************************************/
  21. class CCellSocket : public CCellBase
  22. {
  23. DECLARE_CELL_AUTOCREATE
  24. public:
  25. CCellSocket(void);
  26. CCellSocket( CCellSocket & cellSocket );
  27. virtual ~CCellSocket(void);
  28. void addInputVar(int VarType, const CString& VarVal);
  29. ////////////////////////////////////////////////////////////////////////////////
  30. //继承自CCellBase
  31. int operate(void);
  32. CCellBase * copy(void);
  33. bool fillData(IFlowDataProvider& Provider);
  34. LPCTSTR name(void) const { return CELL_NAME_SOCKET; }
  35. int maxWaitingTime(void) const { return 0; }
  36. private:
  37. void __release(void);
  38. int __formatInputVar(char* InputText);
  39. bool __analyzeOutputVar(char* OutputText);
  40. bool __wait4Recv(SOCKET Sock);
  41. private:
  42. struct InputVarInfo
  43. {
  44. InputVarInfo(int Type, LPCTSTR Value): VarType(Type)
  45. {
  46. ZeroMemory(szVarValue, VAR_LEN);
  47. lstrcpy(szVarValue, Value);
  48. }
  49. InputVarInfo(const InputVarInfo& VarInfo )
  50. {
  51. VarType = VarInfo.VarType;
  52. ZeroMemory(szVarValue, VAR_LEN);
  53. lstrcpy(szVarValue, VarInfo.szVarValue);
  54. }
  55. int VarType; // 变量类型 1:初值为具体值,2:初值为变量
  56. char szVarValue[VAR_LEN]; // 变量值
  57. };
  58. CList<InputVarInfo*, InputVarInfo*> m_InputVarList; // 输入变量类表
  59. DataArray m_OutputVarList; // 输出变量列表
  60. CString m_OpType; // 操作目的
  61. CString m_FarAddr; // 远端地址
  62. int m_FarPort; // 远端端口
  63. int m_TimeOut; // 接收超时(单位:秒)
  64. int m_SuccessPos; // 执行成功,下一节点
  65. int m_FailPos; // 执行失败, 下一节点
  66. };