shared-list.c revision 77c462c3a415536f9c87028ee34546ee96fd1445
/* Copyright (c) 2008-2009 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "imap-match.h"
#include "mailbox-list-private.h"
#include "index-storage.h"
#include "shared-storage.h"
struct shared_mailbox_list_iterate_context {
struct mailbox_list_iterate_context ctx;
struct mail_namespace *cur_ns;
struct imap_match_glob *glob;
struct mailbox_info info;
};
extern struct mailbox_list shared_mailbox_list;
static struct mailbox_list *shared_list_alloc(void)
{
struct mailbox_list *list;
return list;
}
{
}
struct mail_namespace *backend_ns)
{
const char *str;
enum mail_error error;
}
static int
struct mail_storage **storage_r)
{
struct mail_namespace *ns;
return -1;
return 0;
}
static bool
{
struct mail_namespace *ns;
return FALSE;
}
static bool
{
struct mail_namespace *ns;
return FALSE;
}
static bool
{
struct mail_namespace *ns;
return FALSE;
}
static const char *
enum mailbox_list_path_type type)
{
struct mail_namespace *ns;
switch (type) {
break;
/* we can safely say we don't use indexes */
return "";
}
/* we don't have a directory we can use. */
return NULL;
}
}
static int
enum mailbox_name_status *status_r)
{
struct mail_namespace *ns;
int ret;
return -1;
if (ret < 0)
return ret;
}
static const char *
{
i_panic("shared mailbox list: Can't return a temp prefix for '%s'",
return NULL;
}
static const char *
{
struct mail_namespace *ns;
else
/* fallback to default behavior */
if (*ref != '\0')
return pattern;
}
static struct mailbox_list_iterate_context *
enum mailbox_list_iter_flags flags)
{
struct shared_mailbox_list_iterate_context *ctx;
}
static const struct mailbox_info *
{
struct shared_mailbox_list_iterate_context *ctx =
(struct shared_mailbox_list_iterate_context *)_ctx;
continue;
NAMESPACE_FLAG_LIST_CHILDREN)) == 0)
continue;
continue;
/* visible and listable namespace under ourself, see if the
prefix matches without the trailing separator */
}
}
return NULL;
}
{
struct shared_mailbox_list_iterate_context *ctx =
(struct shared_mailbox_list_iterate_context *)_ctx;
return 0;
}
{
struct mail_namespace *ns;
int ret;
return -1;
if (ret < 0)
return ret;
}
static int
{
struct mail_namespace *ns;
int ret;
return -1;
if (ret < 0)
return ret;
}
struct mail_namespace **ns_r)
{
return -1;
"Can't rename mailboxes across storages");
return -1;
}
return 0;
}
{
struct mail_namespace *ns;
int ret;
return -1;
if (ret < 0)
return ret;
}
static int
{
struct mail_namespace *ns;
int ret;
return -1;
if (ret < 0)
return ret;
}
struct mailbox_list shared_mailbox_list = {
{
NULL,
}
};