X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fmodules%2Fxmpp%2Fxmpp_xmacros.c;fp=citadel%2Fmodules%2Fxmpp%2Fxmpp_xmacros.c;h=3ef9f3161c8db450ef00ac9ef030d56bed7cf524;hp=3366cbcfc9cc5b64d17e2af63b45de637a028059;hb=4ebdea1025ba5fdbcc8bdd6ba142557d216796d1;hpb=8ddbd46ffb249a044bc483c338cdd280fe9efcb0 diff --git a/citadel/modules/xmpp/xmpp_xmacros.c b/citadel/modules/xmpp/xmpp_xmacros.c index 3366cbcfc..3ef9f3161 100644 --- a/citadel/modules/xmpp/xmpp_xmacros.c +++ b/citadel/modules/xmpp/xmpp_xmacros.c @@ -13,6 +13,11 @@ void *GetToken_piq(void) return NULL; } +void *GetToken_message(void) +{ + return NULL; +} + #define STRPROP(STRUCTNAME, NAME) \ if (StrLength(pdata->NAME) > 0) \ @@ -23,6 +28,12 @@ void *GetToken_piq(void) XPut("\" ", 2); \ } +#define PAYLOAD(STRUCTNAME, NAME) \ + XPrint(#NAME, sizeof(#NAME) -1, \ + XCLOSED, \ + TYPE_BODYSTR, SKEY(pdata->NAME), \ + TYPE_ARGEND); + #define THENAMESPACE(STRUCTNAME, NAME) \ XPut(#NAME, sizeof(#NAME) - 1); \ XPut("=\"", 2); \ @@ -48,12 +59,16 @@ void *GetToken_piq(void) #include "token.def" #undef STRPROP +#undef PAYLOAD #undef TOKEN #define STRPROP(STRUCTNAME, NAME) \ FreeStrBuf(&pdata->NAME); +#define PAYLOAD(STRUCTNAME, NAME) \ + FreeStrBuf(&pdata->NAME); + #define TOKEN(NAME, STRUCT) \ void free_buf_##NAME(TheToken_##NAME *pdata) \ { \ @@ -62,6 +77,7 @@ void *GetToken_piq(void) #include "token.def" #undef STRPROP +#undef PAYLOAD #undef TOKEN #define TOKEN(NAME, STRUCT) \ @@ -90,6 +106,16 @@ CTDL_MODULE_INIT(xmpp_xmacros) #PROPERTYNAME, sizeof(#PROPERTYNAME)-1, \ GetToken_##TOKENNAME, \ offset##PROPERTYNAME); +#define PAYLOAD(TOKENNAME, PROPERTYNAME) \ + long offset##PROPERTYNAME = \ + offsetof(TheToken_##TOKENNAME, PROPERTYNAME); \ + XMPP_RegisterTokenProperty( \ + NAMESPACE_##TOKENNAME, \ + sizeof(NAMESPACE_##TOKENNAME)-1, \ + #TOKENNAME, sizeof(#TOKENNAME)-1, \ + NULL, 0, \ + GetToken_##TOKENNAME, \ + offset##PROPERTYNAME); #define TOKEN(NAME, STRUCT) STRUCT #include "token.def" #undef STRPROP