#pragma once #include "ISECS2Item.h" #define MSG_DATA 0 #define MSG_SELECT_REQ 1 #define MSG_SELECT_RSP 2 #define MSG_DESELECT_REQ 3 #define MSG_DESELECT_RSP 4 #define MSG_LINKTEST_REQ 5 #define MSG_LINKTEST_RSP 6 #define MSG_REJECT_REQ 7 #define MSG_SEPARATE_REQ 9 #define REPLY 0x80 typedef struct _HEADER { unsigned short sessionId; BYTE stream; BYTE function; BYTE pType; BYTE sType; unsigned int systemBytes; }HEADER; class IMessage { public: virtual int getLength() = 0; virtual HEADER* getHeader() = 0; virtual ISECS2Item* getBody() = 0; virtual const char* toString() = 0; virtual int serialize(char* pszBuffer, int nBufferSize) = 0; virtual int unserialize(const char* pszBuffer, int nBufferSize) = 0; };