X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=buffy.h;h=fdd2ca3081add2a65592da41b436ad52e07ef1d1;hp=a8dd0d9009bdd5460d39b49dd12b2a0fdb774175;hb=0dc3054df348d3c9788ecf6aba028668c684a7bc;hpb=df70e07e24add1869bcc9b7af2277d9d0c09a281 diff --git a/buffy.h b/buffy.h index a8dd0d9..fdd2ca3 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,32 @@ 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); + +DO_ARRAY_TYPE(BUFFY, buffy); +DO_ARRAY_FUNCS(BUFFY, buffy, buffy_delete); +/* folders with incomming mail (via mailboxes command) */ +WHERE buffy_array Incoming; +WHERE short BuffyTimeout INITVAL (3); extern time_t BuffyDoneTime; /* last time we knew for sure how much mail there was */ -#ifdef BUFFY_SIZE -BUFFY *mutt_find_mailbox (const char *path); -void mutt_update_mailbox (BUFFY * b); -#endif +/* looks up a path in Incoming list (returns index) */ +int buffy_lookup (const char*); +/* handles mailboxes commands */ +int buffy_parse_mailboxes (BUFFER*, BUFFER*, unsigned long, BUFFER*); +/* 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 */