diff --git a/src/lib-storage/list/Makefile.am b/src/lib-storage/list/Makefile.am index 7998c7217f..58ba0d719c 100644 --- a/src/lib-storage/list/Makefile.am +++ b/src/lib-storage/list/Makefile.am @@ -33,6 +33,7 @@ headers = \ mailbox-list-index.h \ mailbox-list-index-storage.h \ mailbox-list-index-sync.h \ + mailbox-list-iter-private.h \ mailbox-list-maildir.h \ mailbox-list-notify-tree.h \ mailbox-list-subscriptions.h \ diff --git a/src/lib-storage/list/mailbox-list-iter-private.h b/src/lib-storage/list/mailbox-list-iter-private.h new file mode 100644 index 0000000000..4856432db8 --- /dev/null +++ b/src/lib-storage/list/mailbox-list-iter-private.h @@ -0,0 +1,23 @@ +#ifndef MAILBOX_LIST_ITER_PRIVATE_H +#define MAILBOX_LIST_ITER_PRIVATE_H + +#include "mailbox-list-iter.h" + +struct autocreate_box { + const char *name; + const struct mailbox_settings *set; + enum mailbox_info_flags flags; + bool child_listed; +}; + +ARRAY_DEFINE_TYPE(mailbox_settings, struct mailbox_settings *); +struct mailbox_list_autocreate_iterate_context { + unsigned int idx; + struct mailbox_info new_info; + ARRAY(struct autocreate_box) boxes; + ARRAY_TYPE(mailbox_settings) box_sets; + ARRAY_TYPE(mailbox_settings) all_ns_box_sets; + bool listing_autoboxes:1; +}; + +#endif diff --git a/src/lib-storage/list/mailbox-list-iter.c b/src/lib-storage/list/mailbox-list-iter.c index e2258d6983..e6ac9e23f1 100644 --- a/src/lib-storage/list/mailbox-list-iter.c +++ b/src/lib-storage/list/mailbox-list-iter.c @@ -7,6 +7,7 @@ #include "mailbox-tree.h" #include "mailbox-list-subscriptions.h" #include "mailbox-list-private.h" +#include "mailbox-list-iter-private.h" enum autocreate_match_result { /* list contains the mailbox */ @@ -17,23 +18,6 @@ enum autocreate_match_result { AUTOCREATE_MATCH_RESULT_PARENT = 0x04 }; -struct autocreate_box { - const char *name; - const struct mailbox_settings *set; - enum mailbox_info_flags flags; - bool child_listed; -}; - -ARRAY_DEFINE_TYPE(mailbox_settings, struct mailbox_settings *); -struct mailbox_list_autocreate_iterate_context { - unsigned int idx; - struct mailbox_info new_info; - ARRAY(struct autocreate_box) boxes; - ARRAY_TYPE(mailbox_settings) box_sets; - ARRAY_TYPE(mailbox_settings) all_ns_box_sets; - bool listing_autoboxes:1; -}; - struct ns_list_iterate_context { struct mailbox_list_iterate_context ctx; struct mailbox_list_iterate_context *backend_ctx;