struct mailbox_list {
const char *name;
+ struct event *event;
enum mailbox_list_properties props;
size_t mailbox_name_max_length;
list = class->v.alloc();
array_create(&list->module_contexts, list->pool, sizeof(void *), 5);
+ list->event = event_create(ns->user->event);
+ event_add_str(list->event, "namespace", ns->set->name);
list->ns = ns;
list->mail_set = ns->mail_set;
list->flags = flags;
i_assert(array_count(&list->error_stack) == 0);
array_free(&list->error_stack);
}
+
+ struct event *event = list->event;
list->v.deinit(list);
+ event_unref(&event);
}
const char *mailbox_list_get_driver_name(const struct mailbox_list *list)
return list->ns;
}
+struct event *
+mailbox_list_get_event(const struct mailbox_list *list)
+{
+ return list->event;
+}
+
static mode_t get_dir_mode(mode_t mode)
{
/* add the execute bit if either read or write bit is set */
mailbox_list_get_flags(const struct mailbox_list *list) ATTR_PURE;
struct mail_namespace *
mailbox_list_get_namespace(const struct mailbox_list *list) ATTR_PURE;
+struct event *
+mailbox_list_get_event(const struct mailbox_list *list) ATTR_PURE;
struct mail_user *
mailbox_list_get_user(const struct mailbox_list *list) ATTR_PURE;
/* Get a mail_storage for the given mailbox_list/vname combination. This might
list_r->ns = t_new(struct mail_namespace, 1);
list_r->ns->user = t_new(struct mail_user, 1);
list_r->ns->user->event = event_create(NULL);
+ list_r->event = event_create(list_r->ns->user->event);
}
static void test_deinit_list(struct mailbox_list *list)
i_assert(array_count(&list->error_stack) == 0);
array_free(&list->error_stack);
}
+ event_unref(&list->event);
event_unref(&list->ns->user->event);
}