]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Added mail_namespace_storage_added hook.
authorTimo Sirainen <tss@iki.fi>
Mon, 14 Dec 2009 19:30:44 +0000 (14:30 -0500)
committerTimo Sirainen <tss@iki.fi>
Mon, 14 Dec 2009 19:30:44 +0000 (14:30 -0500)
--HG--
branch : HEAD

src/lib-storage/mail-namespace.c
src/lib-storage/mail-storage-hooks.c
src/lib-storage/mail-storage-hooks.h

index df4c7d84e58327927e80cfa66af258024e1bd6ab..5173066bffc144388b51edb3c9a0543f4491190c 100644 (file)
@@ -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,
index 0f91aa32f21ee3a22f9fad31bb6b1e63809a7b5d..837b3ca35b946c039561af013ebdbdf9cd125821 100644 (file)
@@ -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;
index b63884011e3e97bf43d4b18eca0c39abce7df800..a876aae55e099705002360b314e6f9762cfb3574 100644 (file)
@@ -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);