]> code.citadel.org Git - citadel.git/blobdiff - webcit/webcit.h
* put filename reference into token, so we can put in errormessages where we wouldn...
[citadel.git] / webcit / webcit.h
index ac36328c4cff786a932b12344110ef3b3ca6e0aa..0848579dade6d490314879d2344741b708420919 100644 (file)
@@ -269,6 +269,7 @@ typedef struct _TemplateParam {
 } TemplateParam;
 
 typedef struct _TemplateToken {
+       const StrBuf *FileName; /* Reference to print error messages; not to be freed */
        StrBuf *FlatToken;
        long Line;
        const char *pTokenStart;
@@ -311,7 +312,7 @@ typedef struct _wcsubst {
 #define CTX_NODECONF 7
 #define CTX_USERLIST 8
 #define CTX_MAILSUM 9
-
+#define CTX_MIME_ATACH 10
 
 void RegisterNS(const char *NSName, long len, 
                int nMinArgs, 
@@ -334,7 +335,7 @@ void RegisterConditional(const char *Name, long len,
 
 
 typedef void (*SubTemplFunc)(StrBuf *TemplBuffer, void *Context, WCTemplateToken *Token);
-typedef HashList *(*RetrieveHashlistFunc)(WCTemplateToken *Token);
+typedef HashList *(*RetrieveHashlistFunc)(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *Context, int ContextType);
 typedef void (*HashDestructorFunc) (HashList **KillMe);
 void RegisterITERATOR(const char *Name, long len,
                      int AdditionalParams, 
@@ -342,8 +343,9 @@ void RegisterITERATOR(const char *Name, long len,
                      RetrieveHashlistFunc GetHash, 
                      SubTemplFunc DoSubTempl,
                      HashDestructorFunc Destructor,
-                     int ContextType);
-#define RegisterIterator(a, b, c, d, e, f, g) RegisterITERATOR(a, sizeof(a)-1, b, c, d, e, f, g)
+                     int ContextType, 
+                     int XPectContextType);
+#define RegisterIterator(a, b, c, d, e, f, g, h) RegisterITERATOR(a, sizeof(a)-1, b, c, d, e, f, g, h)
 
 void SVPut(char *keyname, size_t keylen, int keytype, char *Data);
 #define svput(a, b, c) SVPut(a, sizeof(a) - 1, b, c)
@@ -437,6 +439,8 @@ typedef struct _message_summary {
        HashList *Submessages;
        HashList *AttachLinks;
 
+       HashList *AllAttach;
+
        int is_new;         /**< is it yet read? */
        int hasattachments;     /* does it have atachments? */