| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /*************************************************************************
- 【文件名】 CellSocket.h
- 【功能模块和目的】 SOCKET操作节点类头文件
- 【开发者及日期】 郑石诺 2016/01/04
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- #pragma once
- #include "cellbase.h"
- #include "CellAUTOCREATE.h"
- /*************************************************************************
- 【类名】 CCellSocket
- 【功能】
- 【接口说明】 SOCKET操作节点类
- 【开发者及日期】 郑石诺 2016/01/04
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- class CCellSocket : public CCellBase
- {
- DECLARE_CELL_AUTOCREATE
- public:
- CCellSocket(void);
- CCellSocket( CCellSocket & cellSocket );
- virtual ~CCellSocket(void);
- void addInputVar(int VarType, const CString& VarVal);
- ////////////////////////////////////////////////////////////////////////////////
- //继承自CCellBase
- int operate(void);
- CCellBase * copy(void);
- bool fillData(IFlowDataProvider& Provider);
- LPCTSTR name(void) const { return CELL_NAME_SOCKET; }
- int maxWaitingTime(void) const { return 0; }
- private:
- void __release(void);
- int __formatInputVar(char* InputText);
- bool __analyzeOutputVar(char* OutputText);
- bool __wait4Recv(SOCKET Sock);
- private:
- struct InputVarInfo
- {
- InputVarInfo(int Type, LPCTSTR Value): VarType(Type)
- {
- ZeroMemory(szVarValue, VAR_LEN);
- lstrcpy(szVarValue, Value);
- }
- InputVarInfo(const InputVarInfo& VarInfo )
- {
- VarType = VarInfo.VarType;
- ZeroMemory(szVarValue, VAR_LEN);
- lstrcpy(szVarValue, VarInfo.szVarValue);
- }
- int VarType; // 变量类型 1:初值为具体值,2:初值为变量
- char szVarValue[VAR_LEN]; // 变量值
- };
- CList<InputVarInfo*, InputVarInfo*> m_InputVarList; // 输入变量类表
- DataArray m_OutputVarList; // 输出变量列表
- CString m_OpType; // 操作目的
- CString m_FarAddr; // 远端地址
- int m_FarPort; // 远端端口
- int m_TimeOut; // 接收超时(单位:秒)
- int m_SuccessPos; // 执行成功,下一节点
- int m_FailPos; // 执行失败, 下一节点
- };
|