Make buffy a lua package as well.
[apps/madmutt.git] / buffy.h
diff --git a/buffy.h b/buffy.h
index 0a64a78..625ade8 100644 (file)
--- a/buffy.h
+++ b/buffy.h
@@ -6,6 +6,8 @@
  * 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
 
 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 */
@@ -28,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 */