X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=buffy.h;h=89b6d532b0c611d375778881ee985545f64fd255;hp=e04e7c5bcb8e7c888936b0412078af14990f5866;hb=98f62b5fcbd680fd5214ee85e1635b84322cbdd1;hpb=6833ce8bdca2d64e14485118f2a4417b7e1cb1b1 diff --git a/buffy.h b/buffy.h index e04e7c5..89b6d53 100644 --- a/buffy.h +++ b/buffy.h @@ -1,45 +1,51 @@ -/* +/* + * 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 -#define M_UNMAILBOXES 2 - -typedef struct buffy_t -{ - char *path; -#ifdef BUFFY_SIZE - long size; -#endif /* BUFFY_SIZE */ - struct buffy_t *next; - short new; /* mailbox has new mail */ - short notified; /* user has been notified */ - short magic; /* mailbox type */ - short newly_created; /* mbox or mmdf just popped into existence */ +typedef struct buffy_t { + 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; + +DO_INIT(BUFFY, buffy); +static inline void buffy_wipe(BUFFY *p) { + p_delete(&p->path); } -BUFFY; +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; -WHERE BUFFY *Incoming INITVAL (0); -WHERE short BuffyTimeout INITVAL (3); +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 */