From: Timo Sirainen Date: Mon, 6 Dec 2010 03:43:23 +0000 (+0000) Subject: lib-storage: Unvirtualized some methods from struct mailbox. X-Git-Tag: 2.1.alpha1~439 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dbe64f3893616a4005c8946be75d2dc8f6823d72;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Unvirtualized some methods from struct mailbox. There was never any point in overriding or hooking into them. --- diff --git a/src/lib-storage/Makefile.am b/src/lib-storage/Makefile.am index 545f838e10..0c2c0ad52a 100644 --- a/src/lib-storage/Makefile.am +++ b/src/lib-storage/Makefile.am @@ -5,6 +5,7 @@ noinst_LIBRARIES = libstorage_test.a AM_CPPFLAGS = \ -I$(top_srcdir)/src/lib \ + -I$(top_srcdir)/src/lib-test \ -I$(top_srcdir)/src/lib-auth \ -I$(top_srcdir)/src/lib-dict \ -I$(top_srcdir)/src/lib-master \ @@ -33,6 +34,7 @@ libstorage_la_SOURCES = \ mail-storage-settings.c \ mail-thread.c \ mail-user.c \ + mailbox-get.c \ mailbox-keywords.c \ mailbox-list.c \ mailbox-search-result.c \ @@ -87,6 +89,25 @@ libstorage_test_a_SOURCES = \ test_headers = \ test-mail-storage.h +test_programs = \ + test-mailbox-get + +noinst_PROGRAMS = $(test_programs) + +test_libs = \ + $(top_builddir)/src/lib-test/libtest.la \ + $(top_builddir)/src/lib/liblib.la + +test_mailbox_get_SOURCES = test-mailbox-get.c +test_mailbox_get_LDADD = mailbox-get.lo $(test_libs) +test_mailbox_get_DEPENDENCIES = mailbox-get.lo $(test_libs) + +check: check-am check-test +check-test: all-am + for bin in $(test_programs); do \ + if ! $(RUN_TEST) ./$$bin; then exit 1; fi; \ + done + pkginc_libdir=$(pkgincludedir) pkginc_lib_HEADERS = $(headers) noinst_HEADERS = $(test_headers) diff --git a/src/lib-storage/index/Makefile.am b/src/lib-storage/index/Makefile.am index aeb969fac3..b65d9525c8 100644 --- a/src/lib-storage/index/Makefile.am +++ b/src/lib-storage/index/Makefile.am @@ -15,7 +15,6 @@ libstorage_index_la_SOURCES = \ istream-attachment.c \ istream-mail-stats.c \ index-attachment.c \ - index-fetch.c \ index-mail.c \ index-mail-headers.c \ index-mailbox-check.c \ @@ -49,24 +48,5 @@ headers = \ index-sync-private.h \ index-thread-private.h -test_programs = \ - test-index-fetch - -noinst_PROGRAMS = $(test_programs) - -test_libs = \ - $(top_builddir)/src/lib-test/libtest.la \ - $(top_builddir)/src/lib/liblib.la - -test_index_fetch_SOURCES = test-index-fetch.c -test_index_fetch_LDADD = index-fetch.lo $(test_libs) -test_index_fetch_DEPENDENCIES = index-fetch.lo $(test_libs) - -check: check-am check-test -check-test: all-am - for bin in $(test_programs); do \ - if ! $(RUN_TEST) ./$$bin; then exit 1; fi; \ - done - pkginc_libdir=$(pkgincludedir) pkginc_lib_HEADERS = $(headers) diff --git a/src/lib-storage/index/cydir/cydir-storage.c b/src/lib-storage/index/cydir/cydir-storage.c index 58309b5cef..684d6c0bbc 100644 --- a/src/lib-storage/index/cydir/cydir-storage.c +++ b/src/lib-storage/index/cydir/cydir-storage.c @@ -155,10 +155,6 @@ struct mailbox cydir_mailbox = { index_transaction_begin, index_transaction_commit, index_transaction_rollback, - index_transaction_set_max_modseq, - index_storage_get_seq_range, - index_storage_get_uid_range, - index_storage_get_expunges, NULL, index_mail_alloc, index_header_lookup_init, diff --git a/src/lib-storage/index/dbox-multi/mdbox-storage.c b/src/lib-storage/index/dbox-multi/mdbox-storage.c index a9e4cdcb25..fbedfa5778 100644 --- a/src/lib-storage/index/dbox-multi/mdbox-storage.c +++ b/src/lib-storage/index/dbox-multi/mdbox-storage.c @@ -414,10 +414,6 @@ struct mailbox mdbox_mailbox = { index_transaction_begin, index_transaction_commit, index_transaction_rollback, - index_transaction_set_max_modseq, - index_storage_get_seq_range, - index_storage_get_uid_range, - index_storage_get_expunges, NULL, dbox_mail_alloc, index_header_lookup_init, diff --git a/src/lib-storage/index/dbox-single/sdbox-storage.c b/src/lib-storage/index/dbox-single/sdbox-storage.c index 9249f953fe..fd59e748ae 100644 --- a/src/lib-storage/index/dbox-single/sdbox-storage.c +++ b/src/lib-storage/index/dbox-single/sdbox-storage.c @@ -381,10 +381,6 @@ struct mailbox sdbox_mailbox = { index_transaction_begin, index_transaction_commit, index_transaction_rollback, - index_transaction_set_max_modseq, - index_storage_get_seq_range, - index_storage_get_uid_range, - index_storage_get_expunges, NULL, dbox_mail_alloc, index_header_lookup_init, diff --git a/src/lib-storage/index/index-storage.h b/src/lib-storage/index/index-storage.h index be9a74033b..4c75819ebc 100644 --- a/src/lib-storage/index/index-storage.h +++ b/src/lib-storage/index/index-storage.h @@ -108,15 +108,6 @@ enum mailbox_sync_type index_sync_type_convert(enum mail_index_sync_type type); void index_storage_get_status(struct mailbox *box, enum mailbox_status_items items, struct mailbox_status *status_r); -void index_storage_get_seq_range(struct mailbox *box, - uint32_t uid1, uint32_t uid2, - uint32_t *seq1_r, uint32_t *seq2_r); -void index_storage_get_uid_range(struct mailbox *box, - const ARRAY_TYPE(seq_range) *seqs, - ARRAY_TYPE(seq_range) *uids); -bool index_storage_get_expunges(struct mailbox *box, uint64_t prev_modseq, - const ARRAY_TYPE(seq_range) *uids_filter, - ARRAY_TYPE(mailbox_expunge_rec) *expunges); struct mailbox_header_lookup_ctx * index_header_lookup_init(struct mailbox *box, const char *const headers[]); @@ -131,10 +122,6 @@ bool index_storage_search_next_nonblock(struct mail_search_context *ctx, struct mail *mail, bool *tryagain_r); bool index_storage_search_next_update_seq(struct mail_search_context *ctx); -void index_transaction_set_max_modseq(struct mailbox_transaction_context *_t, - uint64_t max_modseq, - ARRAY_TYPE(seq_range) *seqs); - struct mailbox_transaction_context * index_transaction_begin(struct mailbox *box, enum mailbox_transaction_flags flags); diff --git a/src/lib-storage/index/index-transaction.c b/src/lib-storage/index/index-transaction.c index 8e3fb6e43e..5963c374ba 100644 --- a/src/lib-storage/index/index-transaction.c +++ b/src/lib-storage/index/index-transaction.c @@ -137,10 +137,3 @@ void index_transaction_rollback(struct mailbox_transaction_context *t) mail_index_transaction_rollback(&itrans); } - -void index_transaction_set_max_modseq(struct mailbox_transaction_context *t, - uint64_t max_modseq, - ARRAY_TYPE(seq_range) *seqs) -{ - mail_index_transaction_set_max_modseq(t->itrans, max_modseq, seqs); -} diff --git a/src/lib-storage/index/maildir/maildir-storage.c b/src/lib-storage/index/maildir/maildir-storage.c index 33f97d72e1..bb56fab11d 100644 --- a/src/lib-storage/index/maildir/maildir-storage.c +++ b/src/lib-storage/index/maildir/maildir-storage.c @@ -655,10 +655,6 @@ struct mailbox maildir_mailbox = { index_transaction_begin, index_transaction_commit, index_transaction_rollback, - index_transaction_set_max_modseq, - index_storage_get_seq_range, - index_storage_get_uid_range, - index_storage_get_expunges, maildir_get_private_flags_mask, index_mail_alloc, index_header_lookup_init, diff --git a/src/lib-storage/index/mbox/mbox-storage.c b/src/lib-storage/index/mbox/mbox-storage.c index da226cf7b7..71345e9c16 100644 --- a/src/lib-storage/index/mbox/mbox-storage.c +++ b/src/lib-storage/index/mbox/mbox-storage.c @@ -759,10 +759,6 @@ struct mailbox mbox_mailbox = { mbox_transaction_begin, mbox_transaction_commit, mbox_transaction_rollback, - index_transaction_set_max_modseq, - index_storage_get_seq_range, - index_storage_get_uid_range, - index_storage_get_expunges, NULL, index_mail_alloc, index_header_lookup_init, diff --git a/src/lib-storage/index/raw/raw-storage.c b/src/lib-storage/index/raw/raw-storage.c index 73e6a56ea0..ffcdd6a457 100644 --- a/src/lib-storage/index/raw/raw-storage.c +++ b/src/lib-storage/index/raw/raw-storage.c @@ -155,10 +155,6 @@ struct mailbox raw_mailbox = { index_transaction_begin, index_transaction_commit, index_transaction_rollback, - index_transaction_set_max_modseq, - index_storage_get_seq_range, - index_storage_get_uid_range, - index_storage_get_expunges, NULL, index_mail_alloc, index_header_lookup_init, diff --git a/src/lib-storage/mail-storage-private.h b/src/lib-storage/mail-storage-private.h index 02bfbe8fa4..79c6686ef6 100644 --- a/src/lib-storage/mail-storage-private.h +++ b/src/lib-storage/mail-storage-private.h @@ -150,18 +150,7 @@ struct mailbox_vfuncs { int (*transaction_commit)(struct mailbox_transaction_context *t, struct mail_transaction_commit_changes *changes_r); void (*transaction_rollback)(struct mailbox_transaction_context *t); - void (*transaction_set_max_modseq)(struct mailbox_transaction_context *t, - uint64_t max_modseq, - ARRAY_TYPE(seq_range) *seqs); - - void (*get_seq_range)(struct mailbox *box, uint32_t uid1, uint32_t uid2, - uint32_t *seq1_r, uint32_t *seq2_r); - void (*get_uid_range)(struct mailbox *box, - const ARRAY_TYPE(seq_range) *seqs, - ARRAY_TYPE(seq_range) *uids); - bool (*get_expunges)(struct mailbox *box, uint64_t prev_modseq, - const ARRAY_TYPE(seq_range) *uids_filter, - ARRAY_TYPE(mailbox_expunge_rec) *expunges); + enum mail_flags (*get_private_flags_mask)(struct mailbox *box); struct mail * diff --git a/src/lib-storage/mail-storage.c b/src/lib-storage/mail-storage.c index db8b388ee9..1c4442ef6d 100644 --- a/src/lib-storage/mail-storage.c +++ b/src/lib-storage/mail-storage.c @@ -1013,27 +1013,6 @@ void mailbox_notify_changes_stop(struct mailbox *box) mailbox_notify_changes(box, 0, NULL, NULL); } -void mailbox_get_seq_range(struct mailbox *box, uint32_t uid1, uint32_t uid2, - uint32_t *seq1_r, uint32_t *seq2_r) -{ - box->v.get_seq_range(box, uid1, uid2, seq1_r, seq2_r); -} - -void mailbox_get_uid_range(struct mailbox *box, - const ARRAY_TYPE(seq_range) *seqs, - ARRAY_TYPE(seq_range) *uids) -{ - box->v.get_uid_range(box, seqs, uids); -} - -bool mailbox_get_expunges(struct mailbox *box, uint64_t prev_modseq, - const ARRAY_TYPE(seq_range) *uids_filter, - ARRAY_TYPE(mailbox_expunge_rec) *expunges) -{ - return box->v.get_expunges(box, prev_modseq, - uids_filter, expunges); -} - struct mailbox_header_lookup_ctx * mailbox_header_lookup_init(struct mailbox *box, const char *const headers[]) { @@ -1194,7 +1173,7 @@ void mailbox_transaction_set_max_modseq(struct mailbox_transaction_context *t, uint64_t max_modseq, ARRAY_TYPE(seq_range) *seqs) { - t->box->v.transaction_set_max_modseq(t, max_modseq, seqs); + mail_index_transaction_set_max_modseq(t->itrans, max_modseq, seqs); } struct mailbox * diff --git a/src/lib-storage/index/index-fetch.c b/src/lib-storage/mailbox-get.c similarity index 88% rename from src/lib-storage/index/index-fetch.c rename to src/lib-storage/mailbox-get.c index 55ec33630f..7d5c632b15 100644 --- a/src/lib-storage/index/index-fetch.c +++ b/src/lib-storage/mailbox-get.c @@ -3,19 +3,17 @@ #include "lib.h" #include "array.h" #include "mail-index-modseq.h" -#include "index-storage.h" -#include "index-mail.h" +#include "mail-storage-private.h" -void index_storage_get_seq_range(struct mailbox *box, - uint32_t uid1, uint32_t uid2, - uint32_t *seq1_r, uint32_t *seq2_r) +void mailbox_get_seq_range(struct mailbox *box, uint32_t uid1, uint32_t uid2, + uint32_t *seq1_r, uint32_t *seq2_r) { mail_index_lookup_seq_range(box->view, uid1, uid2, seq1_r, seq2_r); } -void index_storage_get_uid_range(struct mailbox *box, - const ARRAY_TYPE(seq_range) *seqs, - ARRAY_TYPE(seq_range) *uids) +void mailbox_get_uid_range(struct mailbox *box, + const ARRAY_TYPE(seq_range) *seqs, + ARRAY_TYPE(seq_range) *uids) { const struct seq_range *range; unsigned int i, count; @@ -75,9 +73,9 @@ add_guid_expunges(ARRAY_TYPE(mailbox_expunge_rec) *expunges, } } -bool index_storage_get_expunges(struct mailbox *box, uint64_t prev_modseq, - const ARRAY_TYPE(seq_range) *uids_filter, - ARRAY_TYPE(mailbox_expunge_rec) *expunges) +bool mailbox_get_expunges(struct mailbox *box, uint64_t prev_modseq, + const ARRAY_TYPE(seq_range) *uids_filter, + ARRAY_TYPE(mailbox_expunge_rec) *expunges) { struct mail_transaction_log_view *log_view; const struct mail_transaction_header *thdr; diff --git a/src/lib-storage/index/test-index-fetch.c b/src/lib-storage/test-mailbox-get.c similarity index 97% rename from src/lib-storage/index/test-index-fetch.c rename to src/lib-storage/test-mailbox-get.c index d87131eebb..ebbe791154 100644 --- a/src/lib-storage/index/test-index-fetch.c +++ b/src/lib-storage/test-mailbox-get.c @@ -4,7 +4,7 @@ #include "array.h" #include "test-common.h" #include "mail-index-modseq.h" -#include "index-storage.h" +#include "mail-storage-private.h" static uint32_t expunge_uids[] = { 25, 15, 7, 3, 11, 1, 53, 33 }; static uint8_t mail_guids[N_ELEMENTS(expunge_uids)][MAIL_GUID_128_SIZE]; @@ -114,8 +114,8 @@ static void test_index_storage_get_expunges(void) t_array_init(&expunges, 32); modseq = 98ULL << 32; for (i = 0; i < 2; i++) { - test_assert(index_storage_get_expunges(box, modseq, &uids_filter, - &expunges) == i); + test_assert(mailbox_get_expunges(box, modseq, &uids_filter, + &expunges) == i); exp = array_get(&expunges, &count); test_assert(count == 5); diff --git a/src/lib-storage/test-mailbox.c b/src/lib-storage/test-mailbox.c index c1c1abeb86..fefcdd0019 100644 --- a/src/lib-storage/test-mailbox.c +++ b/src/lib-storage/test-mailbox.c @@ -138,39 +138,6 @@ test_mailbox_transaction_commit(struct mailbox_transaction_context *t, return 0; } -static void -test_mailbox_transaction_set_max_modseq(struct mailbox_transaction_context *t ATTR_UNUSED, - uint64_t max_modseq ATTR_UNUSED, - ARRAY_TYPE(seq_range) *seqs ATTR_UNUSED) -{ -} - -static void -test_mailbox_get_seq_range(struct mailbox *box ATTR_UNUSED, - uint32_t uid1, uint32_t uid2, - uint32_t *seq1_r, uint32_t *seq2_r) -{ - *seq1_r = uid1; - *seq2_r = uid2; -} - -static void -test_mailbox_get_uid_range(struct mailbox *box ATTR_UNUSED, - const ARRAY_TYPE(seq_range) *seqs, - ARRAY_TYPE(seq_range) *uids) -{ - array_append_array(uids, seqs); -} - -static bool -test_mailbox_get_expunged_uids(struct mailbox *box ATTR_UNUSED, - uint64_t prev_modseq ATTR_UNUSED, - const ARRAY_TYPE(seq_range) *uids_filter ATTR_UNUSED, - ARRAY_TYPE(mailbox_expunge_rec) *expunges ATTR_UNUSED) -{ - return FALSE; -} - static struct mailbox_header_lookup_ctx * test_mailbox_header_lookup_init(struct mailbox *box, const char *const headers[]) @@ -298,10 +265,6 @@ struct mailbox test_mailbox = { test_mailbox_transaction_begin, test_mailbox_transaction_commit, test_mailbox_transaction_rollback, - test_mailbox_transaction_set_max_modseq, - test_mailbox_get_seq_range, - test_mailbox_get_uid_range, - test_mailbox_get_expunged_uids, NULL, test_mailbox_mail_alloc, test_mailbox_header_lookup_init, diff --git a/src/plugins/virtual/virtual-storage.c b/src/plugins/virtual/virtual-storage.c index f78bbd5ea0..b57c5ee135 100644 --- a/src/plugins/virtual/virtual-storage.c +++ b/src/plugins/virtual/virtual-storage.c @@ -528,10 +528,6 @@ struct mailbox virtual_mailbox = { virtual_transaction_begin, virtual_transaction_commit, virtual_transaction_rollback, - index_transaction_set_max_modseq, - index_storage_get_seq_range, - index_storage_get_uid_range, - index_storage_get_expunges, NULL, virtual_mail_alloc, index_header_lookup_init,