Mercurial > dovecot > original-hg > dovecot-1.2
annotate src/lib-storage/mail-namespace.h @ 9595:166a188f9165 HEAD
mbox: Fields weren't being added to cache file during message saving.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 30 Jul 2010 16:55:58 +0100 |
parents | 5a593a838f90 |
children |
rev | line source |
---|---|
6410
e4eb71ae8e96
Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents:
6236
diff
changeset
|
1 #ifndef MAIL_NAMESPACE_H |
e4eb71ae8e96
Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents:
6236
diff
changeset
|
2 #define MAIL_NAMESPACE_H |
5500
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
3 |
8082
db66611fd195
Added struct mail_user and fixed the code to support multiple users per process.
Timo Sirainen <tss@iki.fi>
parents:
7912
diff
changeset
|
4 #include "mail-user.h" |
db66611fd195
Added struct mail_user and fixed the code to support multiple users per process.
Timo Sirainen <tss@iki.fi>
parents:
7912
diff
changeset
|
5 |
5500
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
6 enum namespace_type { |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
7 NAMESPACE_PRIVATE, |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
8 NAMESPACE_SHARED, |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
9 NAMESPACE_PUBLIC |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
10 }; |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
11 |
5808
45735dd11f17
Moved several namespace booleans to a flags field. Removed unused
Timo Sirainen <tss@iki.fi>
parents:
5804
diff
changeset
|
12 enum namespace_flags { |
45735dd11f17
Moved several namespace booleans to a flags field. Removed unused
Timo Sirainen <tss@iki.fi>
parents:
5804
diff
changeset
|
13 /* Namespace contains the INBOX mailbox (there can be only one) */ |
6603
afc28dd2d4c5
Added subscriptions setting to namespaces to specify if it should handle
Timo Sirainen <tss@iki.fi>
parents:
6459
diff
changeset
|
14 NAMESPACE_FLAG_INBOX = 0x01, |
5808
45735dd11f17
Moved several namespace booleans to a flags field. Removed unused
Timo Sirainen <tss@iki.fi>
parents:
5804
diff
changeset
|
15 /* Namespace is visible only by explicitly using its full prefix */ |
6603
afc28dd2d4c5
Added subscriptions setting to namespaces to specify if it should handle
Timo Sirainen <tss@iki.fi>
parents:
6459
diff
changeset
|
16 NAMESPACE_FLAG_HIDDEN = 0x02, |
8461
659667d89f69
Added list=children option for namespaces.
Timo Sirainen <tss@iki.fi>
parents:
8448
diff
changeset
|
17 /* Namespace prefix is visible with LIST */ |
659667d89f69
Added list=children option for namespaces.
Timo Sirainen <tss@iki.fi>
parents:
8448
diff
changeset
|
18 NAMESPACE_FLAG_LIST_PREFIX = 0x04, |
659667d89f69
Added list=children option for namespaces.
Timo Sirainen <tss@iki.fi>
parents:
8448
diff
changeset
|
19 /* Namespace prefix isn't visible with LIST, but child mailboxes are */ |
659667d89f69
Added list=children option for namespaces.
Timo Sirainen <tss@iki.fi>
parents:
8448
diff
changeset
|
20 NAMESPACE_FLAG_LIST_CHILDREN = 0x08, |
6603
afc28dd2d4c5
Added subscriptions setting to namespaces to specify if it should handle
Timo Sirainen <tss@iki.fi>
parents:
6459
diff
changeset
|
21 /* Namespace uses its own subscriptions. */ |
afc28dd2d4c5
Added subscriptions setting to namespaces to specify if it should handle
Timo Sirainen <tss@iki.fi>
parents:
6459
diff
changeset
|
22 NAMESPACE_FLAG_SUBSCRIPTIONS = 0x10, |
afc28dd2d4c5
Added subscriptions setting to namespaces to specify if it should handle
Timo Sirainen <tss@iki.fi>
parents:
6459
diff
changeset
|
23 |
8291
4296aa3fbb75
Subscription handling fixes for subscriptions=no namespaces and shared mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
8085
diff
changeset
|
24 /* Namespace was created automatically (for shared mailboxes) */ |
9087
5a593a838f90
Split NAMESPACE_FLAG_INTERNAL into distinct _NOQUOTA and _NOACL flags.
Timo Sirainen <tss@iki.fi>
parents:
8901
diff
changeset
|
25 NAMESPACE_FLAG_AUTOCREATED = 0x1000, |
8448
4cf249042df6
When autocreating a new shared namespace, drop existing namespaces where we haven't seen any mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
8446
diff
changeset
|
26 /* Namespace has at least some usable mailboxes. Autocreated namespaces |
4cf249042df6
When autocreating a new shared namespace, drop existing namespaces where we haven't seen any mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
8446
diff
changeset
|
27 that don't have usable mailboxes may be removed automatically. */ |
9087
5a593a838f90
Split NAMESPACE_FLAG_INTERNAL into distinct _NOQUOTA and _NOACL flags.
Timo Sirainen <tss@iki.fi>
parents:
8901
diff
changeset
|
28 NAMESPACE_FLAG_USABLE = 0x2000, |
8901
703214a10642
acl: Don't try to create dovecot-acl-list file for unknown users' auto-created namespaces.
Timo Sirainen <tss@iki.fi>
parents:
8751
diff
changeset
|
29 /* Automatically created namespace for a user that doesn't exist. */ |
9087
5a593a838f90
Split NAMESPACE_FLAG_INTERNAL into distinct _NOQUOTA and _NOACL flags.
Timo Sirainen <tss@iki.fi>
parents:
8901
diff
changeset
|
30 NAMESPACE_FLAG_UNUSABLE = 0x4000, |
5a593a838f90
Split NAMESPACE_FLAG_INTERNAL into distinct _NOQUOTA and _NOACL flags.
Timo Sirainen <tss@iki.fi>
parents:
8901
diff
changeset
|
31 /* Don't track quota for this namespace */ |
5a593a838f90
Split NAMESPACE_FLAG_INTERNAL into distinct _NOQUOTA and _NOACL flags.
Timo Sirainen <tss@iki.fi>
parents:
8901
diff
changeset
|
32 NAMESPACE_FLAG_NOQUOTA = 0x8000, |
5a593a838f90
Split NAMESPACE_FLAG_INTERNAL into distinct _NOQUOTA and _NOACL flags.
Timo Sirainen <tss@iki.fi>
parents:
8901
diff
changeset
|
33 /* Don't enforce ACLs for this namespace */ |
5a593a838f90
Split NAMESPACE_FLAG_INTERNAL into distinct _NOQUOTA and _NOACL flags.
Timo Sirainen <tss@iki.fi>
parents:
8901
diff
changeset
|
34 NAMESPACE_FLAG_NOACL = 0x10000 |
5808
45735dd11f17
Moved several namespace booleans to a flags field. Removed unused
Timo Sirainen <tss@iki.fi>
parents:
5804
diff
changeset
|
35 }; |
45735dd11f17
Moved several namespace booleans to a flags field. Removed unused
Timo Sirainen <tss@iki.fi>
parents:
5804
diff
changeset
|
36 |
5500
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
37 struct mail_namespace { |
5804
c7f35a9beb0b
Store namespaces sorted by their prefix length.
Timo Sirainen <tss@iki.fi>
parents:
5802
diff
changeset
|
38 /* Namespaces are sorted by their prefix length, "" comes first */ |
5500
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
39 struct mail_namespace *next; |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
40 |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
41 enum namespace_type type; |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
42 char sep, real_sep, sep_str[3]; |
5808
45735dd11f17
Moved several namespace booleans to a flags field. Removed unused
Timo Sirainen <tss@iki.fi>
parents:
5804
diff
changeset
|
43 enum namespace_flags flags; |
5500
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
44 |
8467
03c418eadc8b
mail_user_*() now handles home directory lookups when necessary.
Timo Sirainen <tss@iki.fi>
parents:
8465
diff
changeset
|
45 char *prefix; |
5500
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
46 size_t prefix_len; |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
47 |
8500
3efcdc45d111
Added alias_for setting for namespaces. Fixes namespace issues with fts.
Timo Sirainen <tss@iki.fi>
parents:
8467
diff
changeset
|
48 /* If non-NULL, this points to a namespace with identical mail location |
3efcdc45d111
Added alias_for setting for namespaces. Fixes namespace issues with fts.
Timo Sirainen <tss@iki.fi>
parents:
8467
diff
changeset
|
49 and it should be considered as the primary way to access the |
3efcdc45d111
Added alias_for setting for namespaces. Fixes namespace issues with fts.
Timo Sirainen <tss@iki.fi>
parents:
8467
diff
changeset
|
50 mailboxes. This allows for example FTS plugin to avoid duplicating |
3efcdc45d111
Added alias_for setting for namespaces. Fixes namespace issues with fts.
Timo Sirainen <tss@iki.fi>
parents:
8467
diff
changeset
|
51 indexes for same mailboxes when they're accessed via different |
3efcdc45d111
Added alias_for setting for namespaces. Fixes namespace issues with fts.
Timo Sirainen <tss@iki.fi>
parents:
8467
diff
changeset
|
52 namespaces. */ |
3efcdc45d111
Added alias_for setting for namespaces. Fixes namespace issues with fts.
Timo Sirainen <tss@iki.fi>
parents:
8467
diff
changeset
|
53 struct mail_namespace *alias_for; |
3efcdc45d111
Added alias_for setting for namespaces. Fixes namespace issues with fts.
Timo Sirainen <tss@iki.fi>
parents:
8467
diff
changeset
|
54 /* alias_for->alias_chain_next starts each chain. The chain goes |
3efcdc45d111
Added alias_for setting for namespaces. Fixes namespace issues with fts.
Timo Sirainen <tss@iki.fi>
parents:
8467
diff
changeset
|
55 through all namespaces that have the same alias_for. */ |
3efcdc45d111
Added alias_for setting for namespaces. Fixes namespace issues with fts.
Timo Sirainen <tss@iki.fi>
parents:
8467
diff
changeset
|
56 struct mail_namespace *alias_chain_next; |
3efcdc45d111
Added alias_for setting for namespaces. Fixes namespace issues with fts.
Timo Sirainen <tss@iki.fi>
parents:
8467
diff
changeset
|
57 |
8467
03c418eadc8b
mail_user_*() now handles home directory lookups when necessary.
Timo Sirainen <tss@iki.fi>
parents:
8465
diff
changeset
|
58 struct mail_user *user, *owner; |
5539
7d828d1b39ab
Added mailbox_list to struct mail_namespace. Added a few functions to get
Timo Sirainen <tss@iki.fi>
parents:
5500
diff
changeset
|
59 struct mailbox_list *list; |
7d828d1b39ab
Added mailbox_list to struct mail_namespace. Added a few functions to get
Timo Sirainen <tss@iki.fi>
parents:
5500
diff
changeset
|
60 /* FIXME: we should support multiple storages in one namespace */ |
5500
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
61 struct mail_storage *storage; |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
62 }; |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
63 |
6236
aca5c234b71a
Added hook_mail_namespaces_created.
Timo Sirainen <tss@iki.fi>
parents:
5810
diff
changeset
|
64 /* Called after namespaces has been created */ |
aca5c234b71a
Added hook_mail_namespaces_created.
Timo Sirainen <tss@iki.fi>
parents:
5810
diff
changeset
|
65 extern void (*hook_mail_namespaces_created)(struct mail_namespace *namespaces); |
aca5c234b71a
Added hook_mail_namespaces_created.
Timo Sirainen <tss@iki.fi>
parents:
5810
diff
changeset
|
66 |
8085
bf83aa9c3f4a
Removed pool parameter from mail_namespaces_init*(). Use mail_user's pool intead.
Timo Sirainen <tss@iki.fi>
parents:
8082
diff
changeset
|
67 int mail_namespaces_init(struct mail_user *user); |
bf83aa9c3f4a
Removed pool parameter from mail_namespaces_init*(). Use mail_user's pool intead.
Timo Sirainen <tss@iki.fi>
parents:
8082
diff
changeset
|
68 struct mail_namespace *mail_namespaces_init_empty(struct mail_user *user); |
8751
98e46e8153e4
mail-storage API: Added some function description comments.
Timo Sirainen <tss@iki.fi>
parents:
8500
diff
changeset
|
69 /* Deinitialize all namespaces. mail_user_deinit() calls this automatically |
98e46e8153e4
mail-storage API: Added some function description comments.
Timo Sirainen <tss@iki.fi>
parents:
8500
diff
changeset
|
70 for user's namespaces. */ |
5500
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
71 void mail_namespaces_deinit(struct mail_namespace **namespaces); |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
72 |
8446
1c13cf0f8bb5
Added mail_namespace_destroy().
Timo Sirainen <tss@iki.fi>
parents:
8291
diff
changeset
|
73 /* Destroy a single namespace and remove it from user's namespaces list. */ |
1c13cf0f8bb5
Added mail_namespace_destroy().
Timo Sirainen <tss@iki.fi>
parents:
8291
diff
changeset
|
74 void mail_namespace_destroy(struct mail_namespace *ns); |
1c13cf0f8bb5
Added mail_namespace_destroy().
Timo Sirainen <tss@iki.fi>
parents:
8291
diff
changeset
|
75 |
5576
36ebd0fe2076
Added mail_namespace_update_name()
Timo Sirainen <tss@iki.fi>
parents:
5539
diff
changeset
|
76 /* Update hierarchy separators in given name to real_sep characters. */ |
5500
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
77 const char *mail_namespace_fix_sep(struct mail_namespace *ns, const char *name); |
6639
e1fde9940f7e
Fixes to handling namespace prefixes and real!=virtual separator. Added a
Timo Sirainen <tss@iki.fi>
parents:
6603
diff
changeset
|
78 /* Write virtual mailbox name to dest and return it. Separators are changed to |
e1fde9940f7e
Fixes to handling namespace prefixes and real!=virtual separator. Added a
Timo Sirainen <tss@iki.fi>
parents:
6603
diff
changeset
|
79 virtual ones and namespace prefix is inserted except for INBOX. */ |
e1fde9940f7e
Fixes to handling namespace prefixes and real!=virtual separator. Added a
Timo Sirainen <tss@iki.fi>
parents:
6603
diff
changeset
|
80 const char *mail_namespace_get_vname(struct mail_namespace *ns, string_t *dest, |
e1fde9940f7e
Fixes to handling namespace prefixes and real!=virtual separator. Added a
Timo Sirainen <tss@iki.fi>
parents:
6603
diff
changeset
|
81 const char *name); |
e1fde9940f7e
Fixes to handling namespace prefixes and real!=virtual separator. Added a
Timo Sirainen <tss@iki.fi>
parents:
6603
diff
changeset
|
82 |
5802
8416f66ac5ab
Make sure all listable namespaces use the same separator. If there's no ref
Timo Sirainen <tss@iki.fi>
parents:
5800
diff
changeset
|
83 /* Returns the hierarchy separator for mailboxes that are listed at root. */ |
7912
81806d402514
Added more consts, ATTR_CONSTs and ATTR_PUREs.
Timo Sirainen <tss@iki.fi>
parents:
6978
diff
changeset
|
84 char mail_namespace_get_root_sep(const struct mail_namespace *namespaces) |
81806d402514
Added more consts, ATTR_CONSTs and ATTR_PUREs.
Timo Sirainen <tss@iki.fi>
parents:
6978
diff
changeset
|
85 ATTR_PURE; |
5500
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
86 |
5576
36ebd0fe2076
Added mail_namespace_update_name()
Timo Sirainen <tss@iki.fi>
parents:
5539
diff
changeset
|
87 /* Returns namespace based on the mailbox name's prefix. Updates mailbox to |
36ebd0fe2076
Added mail_namespace_update_name()
Timo Sirainen <tss@iki.fi>
parents:
5539
diff
changeset
|
88 be a valid name inside the namespace (prefix is skipped, hierarchy separator |
36ebd0fe2076
Added mail_namespace_update_name()
Timo Sirainen <tss@iki.fi>
parents:
5539
diff
changeset
|
89 is changed to real_sep). If no namespaces were found, returns NULL. */ |
5500
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
90 struct mail_namespace * |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
91 mail_namespace_find(struct mail_namespace *namespaces, const char **mailbox); |
5576
36ebd0fe2076
Added mail_namespace_update_name()
Timo Sirainen <tss@iki.fi>
parents:
5539
diff
changeset
|
92 /* Like above, but ignore hidden namespaces. */ |
5500
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
93 struct mail_namespace * |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
94 mail_namespace_find_visible(struct mail_namespace *namespaces, |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
95 const char **mailbox); |
6603
afc28dd2d4c5
Added subscriptions setting to namespaces to specify if it should handle
Timo Sirainen <tss@iki.fi>
parents:
6459
diff
changeset
|
96 /* Like above, but find only from namespaces with subscriptions flag set. */ |
afc28dd2d4c5
Added subscriptions setting to namespaces to specify if it should handle
Timo Sirainen <tss@iki.fi>
parents:
6459
diff
changeset
|
97 struct mail_namespace * |
afc28dd2d4c5
Added subscriptions setting to namespaces to specify if it should handle
Timo Sirainen <tss@iki.fi>
parents:
6459
diff
changeset
|
98 mail_namespace_find_subscribable(struct mail_namespace *namespaces, |
afc28dd2d4c5
Added subscriptions setting to namespaces to specify if it should handle
Timo Sirainen <tss@iki.fi>
parents:
6459
diff
changeset
|
99 const char **mailbox); |
8291
4296aa3fbb75
Subscription handling fixes for subscriptions=no namespaces and shared mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
8085
diff
changeset
|
100 /* Like above, but find only from namespaces with subscriptions flag not set. */ |
4296aa3fbb75
Subscription handling fixes for subscriptions=no namespaces and shared mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
8085
diff
changeset
|
101 struct mail_namespace * |
4296aa3fbb75
Subscription handling fixes for subscriptions=no namespaces and shared mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
8085
diff
changeset
|
102 mail_namespace_find_unsubscribable(struct mail_namespace *namespaces, |
4296aa3fbb75
Subscription handling fixes for subscriptions=no namespaces and shared mailboxes.
Timo Sirainen <tss@iki.fi>
parents:
8085
diff
changeset
|
103 const char **mailbox); |
5810
f56a71347378
Added mail_namespace_find_inbox() and mail_namespace_find_prefix_nosep()
Timo Sirainen <tss@iki.fi>
parents:
5808
diff
changeset
|
104 /* Returns the INBOX namespace */ |
f56a71347378
Added mail_namespace_find_inbox() and mail_namespace_find_prefix_nosep()
Timo Sirainen <tss@iki.fi>
parents:
5808
diff
changeset
|
105 struct mail_namespace * |
f56a71347378
Added mail_namespace_find_inbox() and mail_namespace_find_prefix_nosep()
Timo Sirainen <tss@iki.fi>
parents:
5808
diff
changeset
|
106 mail_namespace_find_inbox(struct mail_namespace *namespaces); |
5576
36ebd0fe2076
Added mail_namespace_update_name()
Timo Sirainen <tss@iki.fi>
parents:
5539
diff
changeset
|
107 /* Returns TRUE if the given namespace matches the mailbox's prefix. |
36ebd0fe2076
Added mail_namespace_update_name()
Timo Sirainen <tss@iki.fi>
parents:
5539
diff
changeset
|
108 Updates mailbox name to be a valid name inside the namespace. */ |
7912
81806d402514
Added more consts, ATTR_CONSTs and ATTR_PUREs.
Timo Sirainen <tss@iki.fi>
parents:
6978
diff
changeset
|
109 bool mail_namespace_update_name(const struct mail_namespace *ns, |
5576
36ebd0fe2076
Added mail_namespace_update_name()
Timo Sirainen <tss@iki.fi>
parents:
5539
diff
changeset
|
110 const char **mailbox); |
36ebd0fe2076
Added mail_namespace_update_name()
Timo Sirainen <tss@iki.fi>
parents:
5539
diff
changeset
|
111 |
36ebd0fe2076
Added mail_namespace_update_name()
Timo Sirainen <tss@iki.fi>
parents:
5539
diff
changeset
|
112 /* Find a namespace with given prefix. */ |
5500
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
113 struct mail_namespace * |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
114 mail_namespace_find_prefix(struct mail_namespace *namespaces, |
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
115 const char *prefix); |
5810
f56a71347378
Added mail_namespace_find_inbox() and mail_namespace_find_prefix_nosep()
Timo Sirainen <tss@iki.fi>
parents:
5808
diff
changeset
|
116 /* Like _find_prefix(), but ignore trailing separator */ |
f56a71347378
Added mail_namespace_find_inbox() and mail_namespace_find_prefix_nosep()
Timo Sirainen <tss@iki.fi>
parents:
5808
diff
changeset
|
117 struct mail_namespace * |
f56a71347378
Added mail_namespace_find_inbox() and mail_namespace_find_prefix_nosep()
Timo Sirainen <tss@iki.fi>
parents:
5808
diff
changeset
|
118 mail_namespace_find_prefix_nosep(struct mail_namespace *namespaces, |
f56a71347378
Added mail_namespace_find_inbox() and mail_namespace_find_prefix_nosep()
Timo Sirainen <tss@iki.fi>
parents:
5808
diff
changeset
|
119 const char *prefix); |
5500
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
120 |
6978
4fb1b0f43d60
mail_storage_create() now finishes namespace initialization so namespaces
Timo Sirainen <tss@iki.fi>
parents:
6639
diff
changeset
|
121 /* Called internally by mail_storage_create(). */ |
4fb1b0f43d60
mail_storage_create() now finishes namespace initialization so namespaces
Timo Sirainen <tss@iki.fi>
parents:
6639
diff
changeset
|
122 void mail_namespace_init_storage(struct mail_namespace *ns); |
4fb1b0f43d60
mail_storage_create() now finishes namespace initialization so namespaces
Timo Sirainen <tss@iki.fi>
parents:
6639
diff
changeset
|
123 |
5500
4862cb37106c
Moved namespace handling to lib-storage. Beginnings of namespace support for
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
124 #endif |