Lines Matching refs:actx

106 	struct mailbox_list_autocreate_iterate_context *actx;
117 actx = p_new(ctx->pool, struct mailbox_list_autocreate_iterate_context, 1);
118 ctx->autocreate_ctx = actx;
119 hash_table_create(&actx->duplicate_vnames, ctx->pool, 0,
123 p_array_init(&actx->boxes, ctx->pool, 16);
124 p_array_init(&actx->box_sets, ctx->pool, 16);
125 p_array_init(&actx->all_ns_box_sets, ctx->pool, 16);
134 array_append(&actx->all_ns_box_sets, &set, 1);
137 array_append(&actx->box_sets, &set, 1);
138 autobox = array_append_space(&actx->boxes);
824 struct mailbox_list_autocreate_iterate_context *actx =
826 if (actx == NULL || _info == NULL)
828 actx->new_info = *_info;
829 struct mailbox_info *info = &actx->new_info;
833 match = autocreate_box_match(&actx->box_sets, ctx->list->ns,
836 if (!actx->listing_autoboxes) {
840 array_delete(&actx->boxes, idx, 1);
841 array_delete(&actx->box_sets, idx, 1);
844 hash_table_lookup(actx->duplicate_vnames, info->vname) == NULL) {
853 hash_table_insert(actx->duplicate_vnames, vname, vname);
870 match2 = autocreate_box_match(&actx->all_ns_box_sets,
884 match2 = autocreate_box_match(&actx->all_ns_box_sets,
905 array_foreach_modifiable(&actx->boxes, autobox) {
924 struct mailbox_list_autocreate_iterate_context *actx =
928 i_zero(&actx->new_info);
929 actx->new_info.ns = ctx->list->ns;
930 actx->new_info.vname = autobox->name;
931 actx->new_info.flags = autobox->flags;
934 actx->new_info.flags |= MAILBOX_SUBSCRIBED;
936 if ((actx->new_info.flags & MAILBOX_CHILDREN) == 0) {
941 actx->new_info.flags |= MAILBOX_NOINFERIORS;
943 actx->new_info.flags |= MAILBOX_NOCHILDREN;
947 match = imap_match(ctx->glob, actx->new_info.vname);
949 actx->new_info.special_use =
955 enum mailbox_info_flags old_flags = actx->new_info.flags;
961 actx->new_info.flags = MAILBOX_NONEXISTENT |
965 actx->new_info.flags |= MAILBOX_CHILDREN;
966 actx->new_info.flags &= ~MAILBOX_NOCHILDREN;
969 actx->new_info.flags |= MAILBOX_CHILD_SUBSCRIBED;
971 p = strrchr(actx->new_info.vname, sep);
973 actx->new_info.vname = vname =
975 actx->new_info.vname, p);
976 match = imap_match(ctx->glob, actx->new_info.vname);
979 if (hash_table_lookup(actx->duplicate_vnames, vname) == NULL) {
980 hash_table_insert(actx->duplicate_vnames, vname, vname);
1015 struct mailbox_list_autocreate_iterate_context *actx =
1020 if (actx == NULL)
1024 actx->listing_autoboxes = TRUE;
1027 autoboxes = array_get(&actx->boxes, &count);
1028 while (actx->idx < count) {
1029 autobox = &autoboxes[actx->idx++];
1031 return &actx->new_info;
1033 i_assert(array_count(&actx->boxes) == array_count(&actx->box_sets));