All pastes #833151 Raw Edit

Stuff

public text v1 · immutable
#833151 ·published 2007-12-27 00:04 UTC
rendered paste body
#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);

	char ReadC();
	__int16 ReadH();
	__int32 ReadD();
	__int64 ReadQ();
	float ReadF();
	wchar_t *ReadS();
	char *ReadB(int iSize);

	char PeekC();
	__int16 PeekH();
	__int32 PeekD();
	__int64 PeekQ();
	float PeekF();
	wchar_t *PeekS();
	char *PeekB(int iSize);

private:

	char *pPacket;
	int iPos;
};

#endif