18#define REQUEST_VAR_DECLEAR(NAME, TYPE, SIZE) \
20void set##NAME(TYPE v) {m##NAME = v; updateVar(&m##NAME, SIZE);}\
21TYPE NAME() {return m##NAME;}\
22void add##NAME() {addVar(&m##NAME, SIZE);}\
23void remove##NAME() {removeVar(&m##NAME);}\
27#define REQUEST_STRING_DECLEAR(NAME, SIZE) \
29void set##NAME(const char* v) {strncpy(m##NAME, v, SIZE - 1); m##NAME[SIZE - 1] = 0;updateVar(m##NAME, SIZE);}\
30const char* NAME() {return m##NAME;}\
31void add##NAME() {addVar(m##NAME, SIZE);}\
32void remove##NAME() {removeVar(m##NAME);}\
36#define REQUEST_DATA_DECLEAR(NAME) \
38void set##NAME(const char* v, int size) {\
39 updateDataVar(#NAME, v, size);}\
40const char* NAME() {if (m##NAME##Size == 0) {return 0;}return m##NAME;}\
41int NAME##size(){return m##NAME##Size;}\
42void add##NAME() {m##NAME = 0;m##NAME##Size = 0;addDataVar(#NAME, &m##NAME, &m##NAME##Size);}\
43void remove##NAME() {removeDataVar(#NAME);}\
49class ZZDNetRequestImp;
50class ZZDNetRequestManager;
64 virtual const char *
type() = 0;
void removeVar(void *p)
删除变量
void removeDataVar(const char *name)
删除数据变量
friend class ZZDNetRequestManager
定义 ZZDNetRequest.h:53
void addVar(void *p, int size)
增加变量
virtual bool send(ZZDNet *net)
发送
virtual const char * type()=0
返回对象名称
ZZDNetRequest()
禁用默认构造函数,为了防止直接调用
void updateDataVar(const char *name, const char *p, int size)
更新数据变量
virtual bool encode()=0
编码
void addDataVar(const char *name, char **var, int *size)
增加数据变量
ZZDNetRequestImp * _imp
内部
定义 ZZDNetRequest.h:154
bool parse(const char *content, int fixed, int var)
解析更新内容
const char * content()
返回内容指针
void updateVar(void *p, int size)
更新变量
virtual ~ZZDNetRequest()
析构函数