This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2020-08-04 13:13:01 -04:00

53 lines
1.1 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//
//=============================================================================//
//
// MessageBuffer - handy for packing and upacking
// structures to be sent as messages
//
#ifndef _MESSAGEBUFFER
#define _MESSAGEBUFFER
#include <stdio.h>
#define DEFAULT_MESSAGE_BUFFER_SIZE 2048
class MessageBuffer {
public:
char *data;
MessageBuffer();
MessageBuffer(int size);
~MessageBuffer();
int getSize();
int getLen();
int setLen(int len);
int getOffset();
int setOffset(int offset);
int write(void const *p, int bytes);
int update(int loc, void const *p, int bytes);
int extract(int loc, void *p, int bytes);
int read(void *p, int bytes);
int WriteString(const char *pString);
int ReadString(char *pOut, int bufferLength);
void clear();
void clear(int minsize);
void reset(int minsize);
void print(FILE *ofile, int num);
private:
void resize(int minsize);
int size;
int offset;
int len;
};
#endif