协能can协议
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ProtocolI.h 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /**
  2. * @content:ProtocolI接口定义文件
  3. * @time:2016-9-7
  4. * @author:Mr_zhu
  5. * @version: V1.0
  6. * @describe:
  7. * 1#2016-9-7#V1.0#首次生成
  8. */
  9. #ifndef INCLUDE_IPROTOCOL_H_
  10. #define INCLUDE_IPROTOCOL_H_
  11. #include <string>
  12. #include "../common/IUnknown.h"
  13. #include "../common/type.h"
  14. class Device;
  15. class Item;
  16. class Packet;
  17. interface ProtocolI:IUnknown{
  18. /**
  19. * 读数据
  20. */
  21. virtual HRESULT onRead(
  22. Device* pdevice, //----设备句柄
  23. Packet* ppacket, //----包句柄
  24. Item* pitem, //----点句柄
  25. PBYTE pbuf, //----数据缓冲区
  26. int& len //----数据长度
  27. ) = 0;
  28. /**
  29. * 写数据
  30. */
  31. virtual HRESULT onWrite(
  32. Device* pdevice, //----设备句柄
  33. Packet* ppacket, //----包句柄
  34. Item* pitem, //----点句柄
  35. PBYTE pbuf, //----数据缓冲区
  36. int& len, //----数据长度
  37. std::string swritebuf, //----待写数据字符串
  38. const unsigned int writelen //----待写数据长度
  39. ) = 0;
  40. /**
  41. * 判断回复数据是否完全
  42. */
  43. virtual HRESULT isResponseOK(
  44. Device* pdevice, //----设备句柄
  45. Packet* ppacket, //----包句柄
  46. Item* pitem, //----点句柄
  47. PBYTE pbuf, //----数据缓冲区
  48. const int len //----数据长度
  49. ) = 0;
  50. /**
  51. * 解析数据
  52. */
  53. virtual HRESULT onResponse(
  54. Device* pdevice, //----设备句柄
  55. Packet* ppacket, //----包句柄
  56. Item* pitem, //----点句柄
  57. PBYTE pbuf, //----数据缓冲区
  58. const int len, //----数据长度
  59. int& deletelen //----删除数据长度
  60. ) = 0;
  61. virtual ~ProtocolI(){}
  62. };
  63. #endif /* INCLUDE_IMANAGER_H_ */