X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=buffy.h;h=89b6d532b0c611d375778881ee985545f64fd255;hp=469ac463bbfb13e990af0269dc821ef8949218cc;hb=370334f0cfae3a5a9fe49b40df22e6753a87ac80;hpb=5027f6335acf003a55691db9def391ff4c26264f diff --git a/buffy.h b/buffy.h index 469ac46..89b6d53 100644 --- a/buffy.h +++ b/buffy.h @@ -9,42 +9,43 @@ #ifndef _BUFFY_H #define _BUFFY_H -#include "lib/list.h" - -/*parameter to mutt_parse_mailboxes*/ -#define M_MAILBOXES 1 -#define M_UNMAILBOXES 2 - typedef struct buffy_t { - char *path; -#ifdef BUFFY_SIZE - long size; -#endif /* BUFFY_SIZE */ - short new; /* mailbox has new mail */ - short has_new; /* set it new if new and not read */ - int msgcount; /* total number of messages */ - int msg_unread; /* number of unread messages */ - int msg_flagged; /* number of flagged messages */ - short notified; /* user has been notified */ - short magic; /* mailbox type */ - short newly_created; /* mbox or mmdf just popped into existence */ + char *path; + short new; /* mailbox has new mail */ + short has_new; /* set it new if new and not read */ + int msgcount; /* total number of messages */ + int msg_unread; /* number of unread messages */ + int msg_flagged; /* number of flagged messages */ + short notified; /* user has been notified */ + short magic; /* mailbox type */ + short newly_created; /* mbox just popped into existence */ } BUFFY; -WHERE list2_t* Incoming; -WHERE short BuffyTimeout INITVAL (3); +DO_INIT(BUFFY, buffy); +static inline void buffy_wipe(BUFFY *p) { + p_delete(&p->path); +} +DO_NEW(BUFFY, buffy); +DO_DELETE(BUFFY, buffy); -/* - * looks up a path in Incoming list - * there needs to be an extra function since we have everything but - * object of type BUFFY when we want to a do a lookup ;-( - */ -int buffy_lookup (const char*); +DO_ARRAY_TYPE(BUFFY, buffy); +DO_ARRAY_FUNCS(BUFFY, buffy, buffy_delete); + +#include "buffy.li" -extern time_t BuffyDoneTime; /* last time we knew for sure how much mail there was */ +/* folders with incomming mail (via mailboxes command) */ +extern buffy_array Incoming; -#ifdef BUFFY_SIZE -BUFFY *mutt_find_mailbox (const char *path); -void mutt_update_mailbox (BUFFY * b); -#endif +int buffy_lookup (const char*); +void buffy_do_mailboxes(const char *s, int add); + +/* from given path, gets next mailbox in Incoming with new mail */ +void buffy_next (char*, size_t); +/* checks mailboxes for new mail (returns number) */ +int buffy_check (int); +/* lists mailboxes with new mail */ +int buffy_list (void); +/* wrapper around buffy_list() */ +int buffy_notify (void); #endif /* !_BUFFY_H */