]> code.citadel.org Git - citadel.git/blobdiff - webcit/webcit.h
* rework who.c so it doesn't use svput() and friends but rather preregistered callbac...
[citadel.git] / webcit / webcit.h
index 15b7318e5151fbe1aeed4eefc83f551ad3b688fa..ea94f6cea39743f6de6900384b09b14f6b46dde5 100644 (file)
@@ -370,6 +370,11 @@ void url_do_template(void);
 int CompareSubstToToken(TemplateParam *ParamToCompare, TemplateParam *ParamToLookup);
 int CompareSubstToStrBuf(StrBuf *Compare, TemplateParam *ParamToLookup);
 
+void StrBufAppendTemplate(StrBuf *Target, 
+                         int nArgs, 
+                         WCTemplateToken *Tokens,
+                         void *Context, int ContextType,
+                         StrBuf *Source, int FormatTypeIndex);
 
 
 
@@ -401,6 +406,7 @@ void free_attachment(void *vattach);
 typedef struct wc_mime_attachment wc_mime_attachment;
 typedef void (*RenderMimeFunc)(wc_mime_attachment *Mime, StrBuf *RawData, StrBuf *FoundCharset);
 struct wc_mime_attachment {
+       int level;
        StrBuf *Name;
        StrBuf *FileName;
        StrBuf *PartNum;
@@ -440,6 +446,7 @@ typedef struct _message_summary {
        StrBuf *Room;
        StrBuf *Rfca;
        StrBuf *OtherNode;
+       const StrBuf *PartNum;
 
        HashList *Attachments;  /**< list of Accachments */
        HashList *Submessages;
@@ -452,17 +459,13 @@ typedef struct _message_summary {
 
 
        /** The mime part of the message */
-       wc_mime_attachment MsgBody;
-
-
-       /** Referencces; don't neeed to be freed: */
-       wc_mime_attachment *cal_partnum_ref;
-       wc_mime_attachment *vcard_partnum_ref;
+       wc_mime_attachment *MsgBody;
 } message_summary;
 void DestroyMessageSummary(void *vMsg);
 
 typedef void (*ExamineMsgHeaderFunc)(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset);
 
+void evaluate_mime_part(message_summary *Msg, wc_mime_attachment *Mime);
 
 
 
@@ -674,7 +677,7 @@ extern HashList *LocalTemplateCache;
 extern HashList *GlobalNS;
 extern HashList *Iterators;
 extern HashList *ZoneHash;
-extern HashList *Contitionals;
+extern HashList *Conditionals;
 extern HashList *MsgHeaderHandler;
 extern HashList *MimeRenderHandler;
 
@@ -783,7 +786,7 @@ void dump_vars(void);
 void embed_main_menu(void);
 void serv_read(char *buf, int bytes);
 void readloop(char *oper);
-void read_message(StrBuf *Target, const char *tmpl, long tmpllen, long msgnum, int printable_view, const StrBuf *section);
+int  read_message(StrBuf *Target, const char *tmpl, long tmpllen, long msgnum, int printable_view, const StrBuf *section);
 void do_addrbook_view(addrbookent *addrbook, int num_ab);
 void display_vcard(StrBuf *Target, const char *vcard_source, char alpha, int full, char *storename, long msgnum);
 void text_to_server(char *ptr);