| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /*************************************************************************
- 【文件名】 PduEntityHead.h
- 【功能模块和目的】 PDU消息头解析类头文件
- 【开发者及日期】 郑石诺 2015/03/19
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- #pragma once
- #include "PduLinkInc.h"
- /*************************************************************************
- 【类名】 CPduEntityHead
- 【功能】
- 【接口说明】 PDU消息头解析类
- 【开发者及日期】 郑石诺 2015/03/19
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- class CPduEntityHead
- {
- private:
- ULONG m_nSrcId; // 发送方设备ID
- PDU_DEV_TYPE m_nSrcType; // 发送方设备类型
- ULONG m_nDstId; // 接收方设备ID
- PDU_DEV_TYPE m_nDstType; // 接收方设备类型
- ULONG m_nIsExecReturn; // 是否为执行结果返回(1->是,0->否)
- ULONG m_nUnusedType2; // 保留字段二
- PDU_CMD_TYPE m_nCmdType; // 命令类型
- USHORT m_nDataLen; // 数据长度(动态计算)
- ULONG m_nCrcCheck; // CRC校验码
- private:
- void UShortToBytes(USHORT nValue, UCHAR *byte1, UCHAR *byte2); // SHORT类型转换为字节类型
- USHORT BytesToUShort(UCHAR byte1, UCHAR byte2); // 字节类型转换为SHORT类型
- void ULongToBytes(ULONG nValue, UCHAR *byte1, UCHAR *byte2,UCHAR *byte3, UCHAR *byte4); // ULong类型转换为字节类型
- ULONG BytesToULong(UCHAR byte1, UCHAR byte2, UCHAR byte3, UCHAR byte4); // 字节类型转换为ULong类型
-
- public:
- CPduEntityHead(void);
- ~CPduEntityHead(void);
- //成员初始化
- void Initialization(ULONG a_nSrcId,
- PDU_DEV_TYPE a_nSrcType,
- ULONG a_nDstId,
- PDU_DEV_TYPE a_nDstType,
- PDU_CMD_TYPE a_nCmdType,
- BOOL a_bIsExecReturn,
- USHORT a_nDataLen);
- BOOL Incode(UCHAR szBuf[]); // 打包
- BOOL Decode(UCHAR szBuf[]); // 解包
- // 属性
- PDU_DEV_TYPE GetSrcDevType(){ return m_nSrcType; }
- PDU_DEV_TYPE GetDstDevType(){ return m_nDstType; }
- ULONG GetSrcDevId(){ return m_nSrcId; }
- ULONG GetDstDevId(){ return m_nDstId; }
- PDU_CMD_TYPE GetCmdType(){ return m_nCmdType; }
- USHORT GetDataLen(){ return m_nDataLen; }
- BOOL IsExecReturn() { return m_nIsExecReturn == 1 ? TRUE : FALSE; }
- };
|