annotate src/plugins/quota/quota-plugin.h @ 23017:c1d36f2575c7 default tip

lib-imap: Fix "Don't accept strings with NULs" cherry-pick
author Timo Sirainen <timo.sirainen@open-xchange.com>
date Thu, 29 Aug 2019 09:55:25 +0300
parents c92414173290
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6410
e4eb71ae8e96 Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents: 5448
diff changeset
1 #ifndef QUOTA_PLUGIN_H
e4eb71ae8e96 Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents: 5448
diff changeset
2 #define QUOTA_PLUGIN_H
3738
732b62dc1976 Added beginnings of plugin infrastructure. TODO: These could be optionally
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
3
9004
a5555606846b Fixed plugins to work with config rewrite.
Timo Sirainen <tss@iki.fi>
parents: 8082
diff changeset
4 #include "module-context.h"
10860
6248d194f430 Added doveadm quota plugin.
Timo Sirainen <tss@iki.fi>
parents: 10515
diff changeset
5 #include "mail-user.h"
9004
a5555606846b Fixed plugins to work with config rewrite.
Timo Sirainen <tss@iki.fi>
parents: 8082
diff changeset
6
10412
a9eda7672869 lib-storage: Plugin hook API changed to support per-user plugins within a process.
Timo Sirainen <tss@iki.fi>
parents: 9129
diff changeset
7 struct module;
10860
6248d194f430 Added doveadm quota plugin.
Timo Sirainen <tss@iki.fi>
parents: 10515
diff changeset
8 struct mailbox;
11945
c92414173290 quota: Use mailbox_list_created hook to override list methods.
Timo Sirainen <tss@iki.fi>
parents: 11488
diff changeset
9 struct mailbox_list;
11488
4b20e692c606 lib-storage: Plugin API changed to run plugin functions in correct order.
Timo Sirainen <tss@iki.fi>
parents: 10860
diff changeset
10 struct mail;
10412
a9eda7672869 lib-storage: Plugin hook API changed to support per-user plugins within a process.
Timo Sirainen <tss@iki.fi>
parents: 9129
diff changeset
11
9004
a5555606846b Fixed plugins to work with config rewrite.
Timo Sirainen <tss@iki.fi>
parents: 8082
diff changeset
12 #define QUOTA_USER_CONTEXT(obj) \
a5555606846b Fixed plugins to work with config rewrite.
Timo Sirainen <tss@iki.fi>
parents: 8082
diff changeset
13 MODULE_CONTEXT(obj, quota_user_module)
a5555606846b Fixed plugins to work with config rewrite.
Timo Sirainen <tss@iki.fi>
parents: 8082
diff changeset
14
a5555606846b Fixed plugins to work with config rewrite.
Timo Sirainen <tss@iki.fi>
parents: 8082
diff changeset
15 struct quota_user {
a5555606846b Fixed plugins to work with config rewrite.
Timo Sirainen <tss@iki.fi>
parents: 8082
diff changeset
16 union mail_user_module_context module_ctx;
a5555606846b Fixed plugins to work with config rewrite.
Timo Sirainen <tss@iki.fi>
parents: 8082
diff changeset
17
a5555606846b Fixed plugins to work with config rewrite.
Timo Sirainen <tss@iki.fi>
parents: 8082
diff changeset
18 struct quota *quota;
a5555606846b Fixed plugins to work with config rewrite.
Timo Sirainen <tss@iki.fi>
parents: 8082
diff changeset
19 };
a5555606846b Fixed plugins to work with config rewrite.
Timo Sirainen <tss@iki.fi>
parents: 8082
diff changeset
20
3738
732b62dc1976 Added beginnings of plugin infrastructure. TODO: These could be optionally
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
21 struct mail_storage;
732b62dc1976 Added beginnings of plugin infrastructure. TODO: These could be optionally
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
22
9004
a5555606846b Fixed plugins to work with config rewrite.
Timo Sirainen <tss@iki.fi>
parents: 8082
diff changeset
23 extern MODULE_CONTEXT_DEFINE(quota_user_module, &mail_user_module_register);
3738
732b62dc1976 Added beginnings of plugin infrastructure. TODO: These could be optionally
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
24
8082
db66611fd195 Added struct mail_user and fixed the code to support multiple users per process.
Timo Sirainen <tss@iki.fi>
parents: 6410
diff changeset
25 void quota_mail_user_created(struct mail_user *user);
11945
c92414173290 quota: Use mailbox_list_created hook to override list methods.
Timo Sirainen <tss@iki.fi>
parents: 11488
diff changeset
26 void quota_mailbox_list_created(struct mailbox_list *list);
9129
f9c07af22f91 Implemented support for per-namespace quotas. Can be used with public namespaces.
Timo Sirainen <tss@iki.fi>
parents: 9004
diff changeset
27 void quota_mail_namespaces_created(struct mail_namespace *namespaces);
10515
8e9e67a94e16 plugins: Simplified code by using mailbox_allocated hook.
Timo Sirainen <tss@iki.fi>
parents: 10484
diff changeset
28 void quota_mailbox_allocated(struct mailbox *box);
11488
4b20e692c606 lib-storage: Plugin API changed to run plugin functions in correct order.
Timo Sirainen <tss@iki.fi>
parents: 10860
diff changeset
29 void quota_mail_allocated(struct mail *mail);
3738
732b62dc1976 Added beginnings of plugin infrastructure. TODO: These could be optionally
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
30
10412
a9eda7672869 lib-storage: Plugin hook API changed to support per-user plugins within a process.
Timo Sirainen <tss@iki.fi>
parents: 9129
diff changeset
31 void quota_plugin_init(struct module *module);
3738
732b62dc1976 Added beginnings of plugin infrastructure. TODO: These could be optionally
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
32 void quota_plugin_deinit(void);
732b62dc1976 Added beginnings of plugin infrastructure. TODO: These could be optionally
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
33
732b62dc1976 Added beginnings of plugin infrastructure. TODO: These could be optionally
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
34 #endif