static struct mail_storage_hooks quota_mail_storage_hooks = {
.mail_user_created = quota_mail_user_created,
.mail_namespaces_created = quota_mail_namespaces_created,
- .mail_namespace_storage_added = quota_mail_namespace_storage_added,
+ .mailbox_list_created = quota_mailbox_list_created,
.mailbox_allocated = quota_mailbox_allocated,
.mail_allocated = quota_mail_allocated
};
struct module;
struct mailbox;
+struct mailbox_list;
struct mail;
#define QUOTA_USER_CONTEXT(obj) \
extern MODULE_CONTEXT_DEFINE(quota_user_module, &mail_user_module_register);
void quota_mail_user_created(struct mail_user *user);
-void quota_mail_namespace_storage_added(struct mail_namespace *ns);
+void quota_mailbox_list_created(struct mailbox_list *list);
void quota_mail_namespaces_created(struct mail_namespace *namespaces);
void quota_mailbox_allocated(struct mailbox *box);
void quota_mail_allocated(struct mail *mail);
return NULL;
}
-void quota_mail_namespace_storage_added(struct mail_namespace *ns)
+void quota_mailbox_list_created(struct mailbox_list *list)
{
- struct mailbox_list *list = ns->list;
struct quota_mailbox_list *qlist;
struct quota *quota = NULL;
struct quota_root *root;
bool add;
/* see if we have a quota explicitly defined for this namespace */
- quota = quota_get_mail_user_quota(ns->user);
- root = quota_find_root_for_ns(quota, ns);
+ quota = quota_get_mail_user_quota(list->ns->user);
+ root = quota_find_root_for_ns(quota, list->ns);
if (root != NULL)
- root->ns = ns;
+ root->ns = list->ns;
- if ((ns->flags & NAMESPACE_FLAG_NOQUOTA) != 0)
+ if ((list->ns->flags & NAMESPACE_FLAG_NOQUOTA) != 0)
add = FALSE;
- else if (ns->owner == NULL) {
+ else if (list->ns->owner == NULL) {
/* public namespace - add quota only if namespace is
explicitly defined for it */
add = root != NULL;
MODULE_CONTEXT_SET(list, quota_mailbox_list_module, qlist);
/* register to owner's quota roots */
- quota = ns->owner != NULL ?
- quota_get_mail_user_quota(ns->owner) :
- quota_get_mail_user_quota(ns->user);
- quota_add_user_namespace(quota, ns);
+ quota = list->ns->owner != NULL ?
+ quota_get_mail_user_quota(list->ns->owner) :
+ quota_get_mail_user_quota(list->ns->user);
+ quota_add_user_namespace(quota, list->ns);
}
}