From: Timo Sirainen Date: Mon, 14 Dec 2009 19:30:44 +0000 (-0500) Subject: lib-storage: Added mail_namespace_storage_added hook. X-Git-Tag: 2.0.beta2~136 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1382a978f06181d68151194ee4569378df16416a;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Added mail_namespace_storage_added hook. --HG-- branch : HEAD --- diff --git a/src/lib-storage/mail-namespace.c b/src/lib-storage/mail-namespace.c index df4c7d84e5..5173066bff 100644 --- a/src/lib-storage/mail-namespace.c +++ b/src/lib-storage/mail-namespace.c @@ -19,6 +19,7 @@ void mail_namespace_add_storage(struct mail_namespace *ns, if (storage->v.add_list != NULL) storage->v.add_list(storage, ns->list); + hook_mail_namespace_storage_added(ns); } void mail_namespace_finish_list_init(struct mail_namespace *ns, diff --git a/src/lib-storage/mail-storage-hooks.c b/src/lib-storage/mail-storage-hooks.c index 0f91aa32f2..837b3ca35b 100644 --- a/src/lib-storage/mail-storage-hooks.c +++ b/src/lib-storage/mail-storage-hooks.c @@ -131,6 +131,16 @@ void hook_mail_user_created(struct mail_user *user) } } +void hook_mail_namespace_storage_added(struct mail_namespace *ns) +{ + const struct mail_storage_hooks *const *hooks; + + array_foreach(&ns->user->hooks, hooks) { + if ((*hooks)->mail_namespace_storage_added != NULL) + (*hooks)->mail_namespace_storage_added(ns); + } +} + void hook_mail_namespaces_created(struct mail_namespace *namespaces) { const struct mail_storage_hooks *const *hooks; diff --git a/src/lib-storage/mail-storage-hooks.h b/src/lib-storage/mail-storage-hooks.h index b63884011e..a876aae55e 100644 --- a/src/lib-storage/mail-storage-hooks.h +++ b/src/lib-storage/mail-storage-hooks.h @@ -10,6 +10,7 @@ struct mailbox; struct mail_storage_hooks { void (*mail_user_created)(struct mail_user *user); + void (*mail_namespace_storage_added)(struct mail_namespace *ns); void (*mail_namespaces_created)(struct mail_namespace *namespaces); void (*mail_storage_created)(struct mail_storage *storage); void (*mailbox_list_created)(struct mailbox_list *list); @@ -28,6 +29,7 @@ void mail_storage_hooks_add_internal(const struct mail_storage_hooks *hooks); void mail_storage_hooks_remove_internal(const struct mail_storage_hooks *hooks); void hook_mail_user_created(struct mail_user *user); +void hook_mail_namespace_storage_added(struct mail_namespace *ns); void hook_mail_namespaces_created(struct mail_namespace *namespaces); void hook_mail_storage_created(struct mail_storage *storage); void hook_mailbox_list_created(struct mailbox_list *list);