/** * @content:ProtocolI接口定义文件 * @time:2016-9-7 * @author:Mr_zhu * @version: V1.0 * @describe: * 1#2016-9-7#V1.0#首次生成 */ #ifndef INCLUDE_IPROTOCOL_H_ #define INCLUDE_IPROTOCOL_H_ #include #include "../common/IUnknown.h" #include "../common/type.h" class Device; class Item; class Packet; interface ProtocolI:IUnknown{ /** * 读数据 */ virtual HRESULT onRead( Device* pdevice, //----设备句柄 Packet* ppacket, //----包句柄 Item* pitem, //----点句柄 PBYTE pbuf, //----数据缓冲区 int& len //----数据长度 ) = 0; /** * 写数据 */ virtual HRESULT onWrite( Device* pdevice, //----设备句柄 Packet* ppacket, //----包句柄 Item* pitem, //----点句柄 PBYTE pbuf, //----数据缓冲区 int& len, //----数据长度 std::string swritebuf, //----待写数据字符串 const unsigned int writelen //----待写数据长度 ) = 0; /** * 判断回复数据是否完全 */ virtual HRESULT isResponseOK( Device* pdevice, //----设备句柄 Packet* ppacket, //----包句柄 Item* pitem, //----点句柄 PBYTE pbuf, //----数据缓冲区 const int len //----数据长度 ) = 0; /** * 解析数据 */ virtual HRESULT onResponse( Device* pdevice, //----设备句柄 Packet* ppacket, //----包句柄 Item* pitem, //----点句柄 PBYTE pbuf, //----数据缓冲区 const int len, //----数据长度 int& deletelen //----删除数据长度 ) = 0; virtual ~ProtocolI(){} }; #endif /* INCLUDE_IMANAGER_H_ */