X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=buffy.h;h=89b6d532b0c611d375778881ee985545f64fd255;hp=0a64a787c39b0174ca148a8a40a07ecaba1eb93f;hb=98f62b5fcbd680fd5214ee85e1635b84322cbdd1;hpb=c3e57678c8be193fc137854020f3a90887be97c9 diff --git a/buffy.h b/buffy.h index 0a64a78..89b6d53 100644 --- a/buffy.h +++ b/buffy.h @@ -6,34 +6,46 @@ * It's licensed under the GNU General Public License, * please see the file GPL in the top level source directory. */ - -/*parameter to mutt_parse_mailboxes*/ -#define M_MAILBOXES 1 -#define M_UNMAILBOXES 2 +#ifndef _BUFFY_H +#define _BUFFY_H typedef struct buffy_t { - char *path; -#ifdef BUFFY_SIZE - long size; -#endif /* BUFFY_SIZE */ - struct buffy_t *next; - struct buffy_t *prev; - 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 BUFFY *Incoming INITVAL (0); -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); + +DO_ARRAY_TYPE(BUFFY, buffy); +DO_ARRAY_FUNCS(BUFFY, buffy, buffy_delete); + +#include "buffy.li" + +/* folders with incomming mail (via mailboxes command) */ +extern buffy_array Incoming; + +int buffy_lookup (const char*); +void buffy_do_mailboxes(const char *s, int add); -extern time_t BuffyDoneTime; /* last time we knew for sure how much mail there was */ +/* 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); -#ifdef BUFFY_SIZE -BUFFY *mutt_find_mailbox (const char *path); -void mutt_update_mailbox (BUFFY * b); -#endif +#endif /* !_BUFFY_H */