shared-list.c revision aa4682f84b45dbd9db42dc7edfcdc98add260172
/* Copyright (c) 2008-2012 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"
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)
{
const char *name;
return -1;
return 0;
}
static bool
{
return FALSE;
}
static bool
{
return FALSE;
}
static bool
{
return FALSE;
}
{
return '/';
}
static const char *
enum mailbox_list_path_type type)
{
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 const char *
{
i_panic("shared mailbox list: Can't return a temp prefix for '%s'",
return NULL;
}
static const char *
{
else
/* fallback to default behavior */
if (*ref != '\0')
return pattern;
}
static void
const char *const *patterns)
{
unsigned int i;
/* we'll require that the pattern begins with the list's
namespace prefix. we could also handle other patterns
(e.g. %/user/%), but it's more of a theoretical problem. */
continue;
for (p = list_pat; *p != '\0'; p++) {
if (*p == '%' || *p == '*')
break;
if (*p == sep)
last = p;
}
}
}
}
static struct mailbox_list_iterate_context *
enum mailbox_list_iter_flags flags)
{
struct mailbox_list_iterate_context *ctx;
if ((flags & MAILBOX_LIST_ITER_SELECT_SUBSCRIBED) == 0 &&
} T_END;
return ctx;
}
static const struct mailbox_info *
{
return NULL;
}
{
return 0;
}
static int
{
return 0;
}
{
int ret;
return -1;
if (ret < 0)
return ret;
}
static int
enum mailbox_dir_create_type type)
{
int ret;
return -1;
if (ret < 0)
return ret;
}
static int
{
int ret;
return -1;
if (ret < 0)
return ret;
}
static int
{
int ret;
return -1;
if (ret < 0)
return ret;
}
static int
{
int ret;
return -1;
if (ret < 0)
return ret;
}
const char **oldname,
struct mailbox_list *newlist,
const char **newname,
struct mail_namespace **ns_r)
{
return -1;
"Can't rename shared mailboxes across storages.");
return -1;
}
return 0;
}
static int
bool rename_children)
{
struct mail_namespace *ns;
int ret;
return -1;
if (ret < 0)
return ret;
}
struct mailbox_list shared_mailbox_list = {
.name = "shared",
.props = 0,
{
NULL,
NULL,
}
};