further pop_mx_ng work
[apps/madmutt.git] / buffy.h
diff --git a/buffy.h b/buffy.h
index 0662b94..89b6d53 100644 (file)
--- a/buffy.h
+++ b/buffy.h
@@ -9,32 +9,36 @@
 #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;
-  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;
+
+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 buffy_array 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) */