Mercurial > dovecot > original-hg > dovecot-1.2
diff src/lib-storage/mail-namespace.h @ 5500:4862cb37106c HEAD
Moved namespace handling to lib-storage. Beginnings of namespace support for
non-IMAP parts of Dovecot.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 03 Apr 2007 11:34:27 +0300 |
parents | |
children | 7d828d1b39ab |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/lib-storage/mail-namespace.h Tue Apr 03 11:34:27 2007 +0300 @@ -0,0 +1,39 @@ +#ifndef __MAIL_NAMESPACE_H +#define __MAIL_NAMESPACE_H + +enum namespace_type { + NAMESPACE_PRIVATE, + NAMESPACE_SHARED, + NAMESPACE_PUBLIC +}; + +struct mail_namespace { + struct mail_namespace *next; + + enum namespace_type type; + char sep, real_sep, sep_str[3]; + + const char *prefix; + size_t prefix_len; + + bool inbox, hidden, subscriptions; + struct mail_storage *storage; +}; + +int mail_namespaces_init(pool_t pool, const char *user, + struct mail_namespace **namespaces_r); +struct mail_namespace *mail_namespaces_init_empty(pool_t pool); +void mail_namespaces_deinit(struct mail_namespace **namespaces); + +const char *mail_namespace_fix_sep(struct mail_namespace *ns, const char *name); + +struct mail_namespace * +mail_namespace_find(struct mail_namespace *namespaces, const char **mailbox); +struct mail_namespace * +mail_namespace_find_visible(struct mail_namespace *namespaces, + const char **mailbox); +struct mail_namespace * +mail_namespace_find_prefix(struct mail_namespace *namespaces, + const char *prefix); + +#endif