#ifndef _CPACKET_ #define _CPACKET_ #ifndef _WINDOWS_ #define WIN32_LEAN_AND_MEAN #include "windows.h" #endif #ifndef _INC_STDIO #include "stdio.h" #endif class CPacketAssembler { public: CPacketAssembler(); void WriteC(char pData); void WriteH(__int16 pData); void WriteD(__int32 pData); void WriteQ(__int64 pData); void WriteF(float pData); void WriteS(wchar_t *pData); void WriteB(int pSize, char *pData); int GetSize(); char *GetPacket(); private: char pPacket[65536]; int iPacketSize; }; class CPacketDisassembler { public: CPacketDisassembler(char *pPacket); BYTE ReadC(); __int16 ReadH(); __int32 ReadD(); __int64 ReadQ(); float ReadF(); wchar_t *ReadS(); char *ReadB(int iSize); BYTE PeekC(); __int16 PeekH(); __int32 PeekD(); __int64 PeekQ(); float PeekF(); wchar_t *PeekS(); char *PeekB(int iSize); private: char *pPacket; int iPos; }; #endif