X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fmessages.h;fp=webcit%2Fmessages.h;h=def0899a4978f57a5560b05a03003621d69c2714;hb=5d2d3f4eea91c74af93c735bff7ad9955b466181;hp=fa5fff29fa389734e273507b277042fb92bc0b64;hpb=9f8e0bd23ce7dde31156b634f3a66bf234b11927;p=citadel.git diff --git a/webcit/messages.h b/webcit/messages.h index fa5fff29f..def0899a4 100644 --- a/webcit/messages.h +++ b/webcit/messages.h @@ -1,4 +1,3 @@ - /* * Copyright (c) 1996-2020 by the citadel.org team * @@ -18,7 +17,7 @@ extern CtxType CTX_MIME_ATACH; extern HashList *MimeRenderHandler; extern HashList *ReadLoopHandler; typedef struct wc_mime_attachment wc_mime_attachment; -typedef void (*RenderMimeFunc)(StrBuf * Target, WCTemplputParams * TP, StrBuf * FoundCharset); +typedef void (*RenderMimeFunc)(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset); typedef struct _RenderMimeFuncStruct { RenderMimeFunc f; } RenderMimeFuncStruct; @@ -43,15 +42,15 @@ void DestroyMime(void *vMime); #define MSGFLAG_READ (1<<0) typedef struct _message_summary { - long msgnum; // the message number on the citadel server + long msgnum; // the message number on the citadel server int Flags; - time_t date; // its creation date + time_t date; // its creation date int nhdr; int format_type; StrBuf *euid; - StrBuf *from; // display name of message author - StrBuf *to; // the recipient - StrBuf *subj; // title / subject + StrBuf *from; // display name of message author + StrBuf *to; // the recipient + StrBuf *subj; // title / subject StrBuf *reply_inreplyto; long reply_inreplyto_hash; StrBuf *reply_references; @@ -60,16 +59,16 @@ typedef struct _message_summary { StrBuf *cccc; StrBuf *AllRcpt; StrBuf *Room; - StrBuf *Rfca; // UPN or email address of message author + StrBuf *Rfca; // UPN or email address of message author StrBuf *EnvTo; const StrBuf *PartNum; - HashList *Attachments; // list of attachments + HashList *Attachments; // list of attachments HashList *Submessages; HashList *AttachLinks; HashList *AllAttach; int hasattachments; - int is_local; // nonzero if the message originated on the local system - wc_mime_attachment *MsgBody; // the MIME part of the message + int is_local; // nonzero if the message originated on the local system + wc_mime_attachment *MsgBody; // the MIME part of the message } message_summary; void DestroyMessageSummary(void *vMsg); @@ -105,14 +104,14 @@ typedef enum _eMessageField { eLastHeader } eMessageField; -extern const char *fieldMnemonics[]; +extern const char* fieldMnemonics[]; -int GetFieldFromMnemonic(eMessageField * f, const char *c); -int EvaluateMsgHdr(const char *HeaderName, long HdrNLen, message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset); -int EvaluateMsgHdrEnum(eMessageField f, message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset); +int GetFieldFromMnemonic(eMessageField *f, const char* c); +int EvaluateMsgHdr(const char *HeaderName, long HdrNLen, message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset); +int EvaluateMsgHdrEnum(eMessageField f, message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset); -static inline message_summary *GetMessagePtrAt(int n, HashList * Summ) { +static inline message_summary* GetMessagePtrAt(int n, HashList *Summ) { const char *Key; long HKLen; void *vMsg; @@ -121,15 +120,15 @@ static inline message_summary *GetMessagePtrAt(int n, HashList * Summ) { return NULL; } GetHashAt(Summ, n, &HKLen, &Key, &vMsg); - return (message_summary *) vMsg; + return (message_summary*) vMsg; } -typedef void (*ExamineMsgHeaderFunc)(message_summary * Msg, StrBuf * HdrLine, StrBuf * FoundCharset); -void evaluate_mime_part(StrBuf * Target, WCTemplputParams * TP); +typedef void (*ExamineMsgHeaderFunc)(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset); +void evaluate_mime_part(StrBuf *Target, WCTemplputParams *TP); typedef enum _eCustomRoomRenderer { - eUseDefault = VIEW_JOURNAL + 100, + eUseDefault = VIEW_JOURNAL + 100, eReadEUIDS } eCustomRoomRenderer; @@ -151,8 +150,11 @@ enum { * @param ViewSpecific your view specific context data * @returns 0: failure, trash this message. 1: all right, store it */ -typedef int (*load_msg_ptrs_detailheaders)(StrBuf * Line, - const char **pos, message_summary * Msg, StrBuf * ConversionBuffer, void **ViewSpecific); +typedef int (*load_msg_ptrs_detailheaders) (StrBuf *Line, + const char **pos, + message_summary *Msg, + StrBuf *ConversionBuffer, + void **ViewSpecific); typedef void (*readloop_servcmd)(char *buf, long bufsize); @@ -164,55 +166,73 @@ typedef struct _readloopstruct { extern readloop_struct rlid[]; void readloop(long oper, eCustomRoomRenderer ForceRenderer); -int read_message(StrBuf * Target, - const char *tmpl, long tmpllen, - long msgnum, const StrBuf * section, const StrBuf ** OutMime, WCTemplputParams * TP); -int load_message(message_summary * Msg, StrBuf * FoundCharset, StrBuf ** Error); +int read_message(StrBuf *Target, + const char *tmpl, long tmpllen, + long msgnum, + const StrBuf *section, + const StrBuf **OutMime, + WCTemplputParams *TP); +int load_message(message_summary *Msg, + StrBuf *FoundCharset, + StrBuf **Error); typedef struct _SharedMessageStatus { - long load_seen; /* should read information be loaded */ - long sortit; /* should we sort it using the standard sort API? */ - long defaultsortorder; /* if we should sort it, which direction should be the default? */ + long load_seen; /* should read information be loaded */ + long sortit; /* should we sort it using the standard sort API? */ + long defaultsortorder; /* if we should sort it, which direction should be the default? */ - long maxload; /* how many headers should we accept from the server? defaults to 10k */ - long maxmsgs; /* how many message bodies do you want to load at most? */ + long maxload; /* how many headers should we accept from the server? defaults to 10k */ + long maxmsgs; /* how many message bodies do you want to load at most?*/ - long startmsg; /* which is the start message? */ - long nummsgs; /* How many messages are available to your view? */ - long numNewmsgs; /* if you load the seen-status, this is the count of them. */ - long num_displayed; /* counted up for LoadMsgFromServer *//* TODO: unclear who should access this and why */ + long startmsg; /* which is the start message? */ + long nummsgs; /* How many messages are available to your view? */ + long numNewmsgs; /* if you load the seen-status, this is the count of them. */ + long num_displayed; /* counted up for LoadMsgFromServer */ /* TODO: unclear who should access this and why */ - long lowest_found; /* smallest Message ID found; */ - long highest_found; /* highest Message ID found; */ + long lowest_found; /* smallest Message ID found; */ + long highest_found; /* highest Message ID found; */ } SharedMessageStatus; int load_msg_ptrs(const char *servcmd, const char *filter, - StrBuf * FoundCharset, - SharedMessageStatus * Stat, + StrBuf *FoundCharset, + SharedMessageStatus *Stat, void **ViewSpecific, - load_msg_ptrs_detailheaders LH, StrBuf * FetchMessageList, eMessageField * MessageFieldList, long HeaderCount); - -typedef int (*GetParamsGetServerCall_func)(SharedMessageStatus * Stat, - void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen); - -typedef int (*PrintViewHeader_func)(SharedMessageStatus * Stat, void **ViewSpecific); - -typedef int (*LoadMsgFromServer_func)(SharedMessageStatus * Stat, void **ViewSpecific, message_summary * Msg, int is_new, int i); - -typedef int (*RenderView_or_Tail_func)(SharedMessageStatus * Stat, void **ViewSpecific, long oper); + load_msg_ptrs_detailheaders LH, + StrBuf *FetchMessageList, + eMessageField *MessageFieldList, + long HeaderCount); + +typedef int (*GetParamsGetServerCall_func)(SharedMessageStatus *Stat, + void **ViewSpecific, + long oper, + char *cmd, + long len, + char *filter, + long flen); + +typedef int (*PrintViewHeader_func)(SharedMessageStatus *Stat, void **ViewSpecific); + +typedef int (*LoadMsgFromServer_func)(SharedMessageStatus *Stat, + void **ViewSpecific, + message_summary* Msg, + int is_new, + int i); + +typedef int (*RenderView_or_Tail_func)(SharedMessageStatus *Stat, + void **ViewSpecific, + long oper); typedef int (*View_Cleanup_func)(void **ViewSpecific); void RegisterReadLoopHandlerset( - /** * RoomType: which View definition are you going to be called for */ - int RoomType, + int RoomType, /** * GetParamsGetServerCall should do the following: @@ -224,27 +244,27 @@ void RegisterReadLoopHandlerset( * is skipped. * * influence the behaviour by presetting values on SharedMessageStatus */ - GetParamsGetServerCall_func GetParamsGetServerCall, + GetParamsGetServerCall_func GetParamsGetServerCall, /** * PrintpageHeader prints the surrounding information like iconbar, header etc. * by default, output_headers() is called. * */ - PrintViewHeader_func PrintPageHeader, + PrintViewHeader_func PrintPageHeader, /** * PrintViewHeader is here to print informations infront of your messages. * The message list is already loaded & sorted (if) so you can evaluate * its result on the SharedMessageStatus struct. */ - PrintViewHeader_func PrintViewHeader, + PrintViewHeader_func PrintViewHeader, /** * LH is the function, you specify if you want to load more than just message * numbers from the server during the listing fetch operation. */ - load_msg_ptrs_detailheaders LH, + load_msg_ptrs_detailheaders LH, /** * LoadMsgFromServer is called for every message in the message list: @@ -255,7 +275,7 @@ void RegisterReadLoopHandlerset( * * depending on your needs you might want to print your message here... * * if cmd was empty, its skipped alltogether. */ - LoadMsgFromServer_func LoadMsgFromServer, + LoadMsgFromServer_func LoadMsgFromServer, /** * RenderView_or_Tail is called last; @@ -263,21 +283,20 @@ void RegisterReadLoopHandlerset( * trailing information here * * if you just pre-loaded your messages, put your render code here. */ - RenderView_or_Tail_func RenderView_or_Tail, + RenderView_or_Tail_func RenderView_or_Tail, /** * ViewCleanup should just clear your private data so all your mem can go back to * VALgrindHALLA. * it also should release the content for delivery via end_burst() or wDumpContent(1); */ - View_Cleanup_func ViewCleanup, - + View_Cleanup_func ViewCleanup, /** * brofwseListFields schould be a NULL-terminated list of message field mnemonics * that will be the browse vector for the message header list. */ - const char **browseListFields); - + const char **browseListFields + ); /* GetParamsGetServerCall @@ -289,8 +308,11 @@ RenderView_or_Tail */ -int ParseMessageListHeaders_Detail(StrBuf * Line, - const char **pos, message_summary * Msg, StrBuf * ConversionBuffer, void **ViewSpecific); +int ParseMessageListHeaders_Detail(StrBuf *Line, + const char **pos, + message_summary *Msg, + StrBuf *ConversionBuffer, + void **ViewSpecific); /** * @brief function to register the availability to render a specific message @@ -299,7 +321,10 @@ int ParseMessageListHeaders_Detail(StrBuf * Line, * @param InlineRenderable Should we announce to citserver that we want to receive these mimeparts immediately? * @param Priority if multipart/alternative; which mimepart/Renderer should be prefered? (only applies if InlineRenderable) */ -void RegisterMimeRenderer(const char *HeaderName, long HdrNLen, RenderMimeFunc MimeRenderer, int InlineRenderable, int Priority); +void RegisterMimeRenderer(const char *HeaderName, long HdrNLen, + RenderMimeFunc MimeRenderer, + int InlineRenderable, + int Priority); /** @@ -308,6 +333,6 @@ void RegisterMimeRenderer(const char *HeaderName, long HdrNLen, RenderMimeFunc M * @param FoundCharset buffer with the prefered charset of the headers * @param buf linebuffer used to buffer citserver replies */ -int ReadOneMessageSummary(message_summary * Msg, StrBuf * FoundCharset, StrBuf * Buf); +int ReadOneMessageSummary(message_summary *Msg, StrBuf *FoundCharset, StrBuf *Buf); #endif