Mercurial > dovecot > original-hg > dovecot-1.2
changeset 6462:60a34f26c35a HEAD
Added mailbox_sync() to easily synchronize a mailbox.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 22 Sep 2007 16:21:09 +0300 |
parents | c057369df638 |
children | aeee5076f99f |
files | src/lib-storage/mail-storage.c src/lib-storage/mail-storage.h |
diffstat | 2 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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 @@ 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)
--- 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_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,