Lines Matching refs:list
6 #include "mailbox-list-private.h"
14 struct mailbox_list *list;
17 pool = pool_alloconly_create("shared list", 2048);
18 list = p_new(pool, struct mailbox_list, 1);
19 *list = shared_mailbox_list;
20 list->pool = pool;
21 return list;
24 static void shared_list_deinit(struct mailbox_list *list)
26 pool_unref(&list->pool);
35 str = mailbox_list_get_last_error(backend_ns->list, &error);
40 shared_get_storage(struct mailbox_list **list, const char *vname,
43 struct mail_namespace *ns = (*list)->ns;
46 name = mailbox_list_get_storage_name(*list, vname);
55 *list = ns->list;
56 return mailbox_list_get_storage(list, vname, storage_r);
59 static char shared_list_get_hierarchy_sep(struct mailbox_list *list ATTR_UNUSED)
65 shared_list_get_path(struct mailbox_list *list, const char *name,
68 struct mail_namespace *ns = list->ns;
70 if (mail_namespace_get_default_storage(list->ns) == NULL ||
77 return mailbox_list_get_path(ns->list, name, type, path_r);
81 shared_list_get_temp_prefix(struct mailbox_list *list, bool global ATTR_UNUSED)
83 i_panic("shared mailbox list: Can't return a temp prefix for '%s'",
84 list->ns->prefix);
88 shared_list_join_refpattern(struct mailbox_list *list,
91 struct mail_namespace *ns = list->ns;
92 const char *ns_ref, *prefix = list->ns->prefix;
102 return mailbox_list_join_refpattern(ns->list, ref, pattern);
111 shared_list_create_missing_namespaces(struct mailbox_list *list,
115 char sep = mail_namespace_get_sep(list->ns);
122 /* we'll require that the pattern begins with the list's
125 if (strncmp(list->ns->prefix, patterns[i],
126 list->ns->prefix_len) != 0)
128 list_pat = patterns[i] + list->ns->prefix_len;
137 ns = list->ns;
145 shared_list_iter_init(struct mailbox_list *list, const char *const *patterns,
150 char sep = mail_namespace_get_sep(list->ns);
152 pool = pool_alloconly_create("mailbox list shared iter", 1024);
155 ctx->list = list;
161 (list->ns->flags & NAMESPACE_FLAG_AUTOCREATED) == 0) T_BEGIN {
162 shared_list_create_missing_namespaces(list, patterns);
192 static int shared_list_set_subscribed(struct mailbox_list *list,
195 struct mail_namespace *ns = list->ns;
200 ret = mailbox_list_set_subscribed(ns->list, name, set);
202 shared_list_copy_error(list, ns);
207 shared_list_delete_mailbox(struct mailbox_list *list, const char *name)
209 struct mail_namespace *ns = list->ns;
214 ret = ns->list->v.delete_mailbox(ns->list, name);
216 shared_list_copy_error(list, ns);
221 shared_list_delete_dir(struct mailbox_list *list, const char *name)
223 struct mail_namespace *ns = list->ns;
228 ret = mailbox_list_delete_dir(ns->list, name);
230 shared_list_copy_error(list, ns);
235 shared_list_delete_symlink(struct mailbox_list *list, const char *name)
237 struct mail_namespace *ns = list->ns;
242 ret = mailbox_list_delete_symlink(ns->list, name);
244 shared_list_copy_error(list, ns);
279 ret = ns->list->v.rename_mailbox(ns->list, oldname, ns->list, newname);