X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=buffy.h;h=625ade8d938122a5a04f6a7df8bb5891904e3da1;hp=a8dd0d9009bdd5460d39b49dd12b2a0fdb774175;hb=c9f72ab0cd65f517a2047feb942ad85025c1b7e8;hpb=df70e07e24add1869bcc9b7af2277d9d0c09a281 diff --git a/buffy.h b/buffy.h index a8dd0d9..625ade8 100644 --- a/buffy.h +++ b/buffy.h @@ -1,20 +1,13 @@ -/* +/* + * Copyright notice from original mutt: * Copyright (C) 1996-2000 Michael R. Elkins - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * + * This file is part of mutt-ng, see http://www.muttng.org/. + * It's licensed under the GNU General Public License, + * please see the file GPL in the top level source directory. */ +#ifndef _BUFFY_H +#define _BUFFY_H /*parameter to mutt_parse_mailboxes*/ #define M_MAILBOXES 1 @@ -22,11 +15,6 @@ 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 */ @@ -37,12 +25,31 @@ typedef struct buffy_t { short newly_created; /* mbox or mmdf 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); -extern time_t BuffyDoneTime; /* last time we knew for sure how much mail there was */ +DO_ARRAY_TYPE(BUFFY, buffy); +DO_ARRAY_FUNCS(BUFFY, buffy, buffy_delete); -#ifdef BUFFY_SIZE -BUFFY *mutt_find_mailbox (const char *path); -void mutt_update_mailbox (BUFFY * b); -#endif +#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); + +/* 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 */