Skip to content

Commit

Permalink
lib-storage: Add mailbox-list-iter-private.h with autocreate context …
Browse files Browse the repository at this point in the history
…structs

Needed for the following ACL change.
  • Loading branch information
sirainen authored and GitLab committed May 30, 2017
1 parent e67df1f commit 67cbe5d
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 17 deletions.
1 change: 1 addition & 0 deletions src/lib-storage/list/Makefile.am
Expand Up @@ -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 \
Expand Down
23 changes: 23 additions & 0 deletions 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
18 changes: 1 addition & 17 deletions src/lib-storage/list/mailbox-list-iter.c
Expand Up @@ -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 */
Expand All @@ -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;
Expand Down

0 comments on commit 67cbe5d

Please sign in to comment.