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