/*
* 文件名:packet_push.h
* 描述:将数据压入数据包的数据体
*/
#ifndef _PACKET_PUSH_H
#define _PACKET_PUSH_H
class CPacketPush
{
public:
CPacketPush(char *buff,int buff_size);
CPacketPush();
~CPacketPush();
public:
void Init(char *buff,int buff_size);
int PushChar(char c); //将CHAR类型数据压入数据缓冲区
int PushShort(short s);
int PushInt(int i);
int PushInt64(long long i); //将INT64类型数据
int PushFloat(float f);
int PushDouble(double d);
//将一个以‘\0’结束的字符串压入数据缓冲区
//字符串在数据包表示为:后续字符串长度+字符串内容
int PushVS(const char *str);
//将一个缓存的数据压入数据缓冲区
int PushBuff(const char *buff,int len);
//将一个整形数组压入数据缓冲区
int PushIntArray(int nArray[],int len);
//获取压入数据缓存的数据长度
int GetLength();
//拷贝一个数据包
//@buff 用于保存获取的数据
//@size buff缓存大小
//返回拷贝的数据长度
int GetData(char *buff,int size);
public:
char *m_buff;
int m_buff_size;
int m_offset;
}
#endif