3 #include <libcitadel.h>
4 #include "ctdl_module.h"
7 void *GetToken_iq(void)
11 void *GetToken_piq(void)
17 #define STRPROP(STRUCTNAME, NAME) \
18 if (StrLength(pdata->NAME) > 0) \
20 XPut(#NAME, sizeof(#NAME) - 1); \
22 XPutProp(SKEY(pdata->NAME)); \
26 #define THENAMESPACE(STRUCTNAME, NAME) \
27 XPut(#NAME, sizeof(#NAME) - 1); \
29 XPutProp(NAMESPACE_##STRUCTNAME, \
30 sizeof(NAMESPACE_##STRUCTNAME)-1); \
33 #define TOKEN(NAME, STRUCT) \
34 void serialize_##NAME(TheToken_##NAME *pdata, int Close) \
37 XPut(#NAME, sizeof(#NAME)); \
44 XPut(#NAME, sizeof(#NAME)); \
54 #define STRPROP(STRUCTNAME, NAME) \
55 FreeStrBuf(&pdata->NAME);
57 #define TOKEN(NAME, STRUCT) \
58 void free_buf_##NAME(TheToken_##NAME *pdata) \
67 #define TOKEN(NAME, STRUCT) \
68 void free_##NAME(TheToken_##NAME *pdata) \
70 free_buf_##NAME(pdata); \
80 CTDL_MODULE_INIT(xmpp_xmacros)
83 #define STRPROP(TOKENNAME, PROPERTYNAME) \
84 long offset##PROPERTYNAME = \
85 offsetof(TheToken_##TOKENNAME, PROPERTYNAME); \
86 XMPP_RegisterTokenProperty( \
87 NAMESPACE_##TOKENNAME, \
88 sizeof(NAMESPACE_##TOKENNAME)-1, \
89 #TOKENNAME, sizeof(#TOKENNAME)-1, \
90 #PROPERTYNAME, sizeof(#PROPERTYNAME)-1, \
91 GetToken_##TOKENNAME, \
92 offset##PROPERTYNAME);
93 #define TOKEN(NAME, STRUCT) STRUCT
99 /* return our module name for the log */
100 return "xmpp_xmacros";