#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;
- 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 or mmdf just popped into existence */
} BUFFY;
+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) */
-WHERE list2_t* Incoming;
-WHERE short BuffyTimeout INITVAL (3);
-extern time_t BuffyDoneTime; /* last time we knew for sure how much mail there was */
+extern buffy_array Incoming;
-/* 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*);
+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) */