组件

PduEntityHead.h 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*************************************************************************
  2. 【文件名】 PduEntityHead.h
  3. 【功能模块和目的】 PDU消息头解析类头文件
  4. 【开发者及日期】 郑石诺 2015/03/19
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. #include "PduLinkInc.h"
  11. /*************************************************************************
  12. 【类名】 CPduEntityHead
  13. 【功能】
  14. 【接口说明】 PDU消息头解析类
  15. 【开发者及日期】 郑石诺 2015/03/19
  16. 【版本】 V1.0.0
  17. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  18. 【更改记录】
  19. *************************************************************************/
  20. class CPduEntityHead
  21. {
  22. private:
  23. ULONG m_nSrcId; // 发送方设备ID
  24. PDU_DEV_TYPE m_nSrcType; // 发送方设备类型
  25. ULONG m_nDstId; // 接收方设备ID
  26. PDU_DEV_TYPE m_nDstType; // 接收方设备类型
  27. ULONG m_nIsExecReturn; // 是否为执行结果返回(1->是,0->否)
  28. ULONG m_nUnusedType2; // 保留字段二
  29. PDU_CMD_TYPE m_nCmdType; // 命令类型
  30. USHORT m_nDataLen; // 数据长度(动态计算)
  31. ULONG m_nCrcCheck; // CRC校验码
  32. private:
  33. void UShortToBytes(USHORT nValue, UCHAR *byte1, UCHAR *byte2); // SHORT类型转换为字节类型
  34. USHORT BytesToUShort(UCHAR byte1, UCHAR byte2); // 字节类型转换为SHORT类型
  35. void ULongToBytes(ULONG nValue, UCHAR *byte1, UCHAR *byte2,UCHAR *byte3, UCHAR *byte4); // ULong类型转换为字节类型
  36. ULONG BytesToULong(UCHAR byte1, UCHAR byte2, UCHAR byte3, UCHAR byte4); // 字节类型转换为ULong类型
  37. public:
  38. CPduEntityHead(void);
  39. ~CPduEntityHead(void);
  40. //成员初始化
  41. void Initialization(ULONG a_nSrcId,
  42. PDU_DEV_TYPE a_nSrcType,
  43. ULONG a_nDstId,
  44. PDU_DEV_TYPE a_nDstType,
  45. PDU_CMD_TYPE a_nCmdType,
  46. BOOL a_bIsExecReturn,
  47. USHORT a_nDataLen);
  48. BOOL Incode(UCHAR szBuf[]); // 打包
  49. BOOL Decode(UCHAR szBuf[]); // 解包
  50. // 属性
  51. PDU_DEV_TYPE GetSrcDevType(){ return m_nSrcType; }
  52. PDU_DEV_TYPE GetDstDevType(){ return m_nDstType; }
  53. ULONG GetSrcDevId(){ return m_nSrcId; }
  54. ULONG GetDstDevId(){ return m_nDstId; }
  55. PDU_CMD_TYPE GetCmdType(){ return m_nCmdType; }
  56. USHORT GetDataLen(){ return m_nDataLen; }
  57. BOOL IsExecReturn() { return m_nIsExecReturn == 1 ? TRUE : FALSE; }
  58. };