dovecot: Added mailbox_sync() to easily synchronize a mailbox.

dovecot at dovecot.org dovecot at dovecot.org
Sat Sep 22 16:25:21 EEST 2007


details:   http://hg.dovecot.org/dovecot/rev/60a34f26c35a
changeset: 6462:60a34f26c35a
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Sep 22 16:21:09 2007 +0300
description:
Added mailbox_sync() to easily synchronize a mailbox.

diffstat:

2 files changed, 18 insertions(+)
src/lib-storage/mail-storage.c |   13 +++++++++++++
src/lib-storage/mail-storage.h |    5 +++++

diffs (38 lines):

diff -r c057369df638 -r 60a34f26c35a src/lib-storage/mail-storage.c
--- a/src/lib-storage/mail-storage.c	Sat Sep 22 16:15:12 2007 +0300
+++ b/src/lib-storage/mail-storage.c	Sat Sep 22 16:21:09 2007 +0300
@@ -520,6 +520,19 @@ int mailbox_sync_deinit(struct mailbox_s
 	return ctx->box->v.sync_deinit(ctx, status_items, status_r);
 }
 
+int mailbox_sync(struct mailbox *box, enum mailbox_sync_flags flags,
+		 enum mailbox_status_items status_items,
+		 struct mailbox_status *status_r)
+{
+	struct mailbox_sync_context *ctx;
+        struct mailbox_sync_rec sync_rec;
+
+	ctx = mailbox_sync_init(box, flags);
+	while (mailbox_sync_next(ctx, &sync_rec))
+		;
+	return mailbox_sync_deinit(&ctx, status_items, status_r);
+}
+
 #undef mailbox_notify_changes
 void mailbox_notify_changes(struct mailbox *box, unsigned int min_interval,
 			    mailbox_notify_callback_t *callback, void *context)
diff -r c057369df638 -r 60a34f26c35a src/lib-storage/mail-storage.h
--- a/src/lib-storage/mail-storage.h	Sat Sep 22 16:15:12 2007 +0300
+++ b/src/lib-storage/mail-storage.h	Sat Sep 22 16:21:09 2007 +0300
@@ -291,6 +291,11 @@ int mailbox_sync_deinit(struct mailbox_s
 int mailbox_sync_deinit(struct mailbox_sync_context **ctx,
 			enum mailbox_status_items status_items,
 			struct mailbox_status *status_r);
+/* One-step mailbox synchronization. Use this if you don't care about
+   changes. */
+int mailbox_sync(struct mailbox *box, enum mailbox_sync_flags flags,
+		 enum mailbox_status_items status_items,
+		 struct mailbox_status *status_r);
 
 /* Call given callback function when something changes in the mailbox. */
 void mailbox_notify_changes(struct mailbox *box, unsigned int min_interval,


More information about the dovecot-cvs mailing list