doveadm-mail-mailbox.c revision 323a9de5b41c4f9e4a26f22b92205678114ae14e
/* Copyright (c) 2010 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "array.h"
#include "str.h"
#include "imap-utf7.h"
#include "mail-namespace.h"
#include "mail-storage.h"
#include "mail-search-build.h"
#include "doveadm-print.h"
#include "doveadm-mail-list-iter.h"
#include "doveadm-mail.h"
#include <stdio.h>
struct doveadm_mailbox_cmd_context {
struct doveadm_mail_cmd_context ctx;
bool subscriptions;
};
struct mailbox_cmd_context {
struct doveadm_mailbox_cmd_context ctx;
};
struct rename_cmd_context {
struct doveadm_mailbox_cmd_context ctx;
};
struct list_cmd_context {
struct doveadm_mailbox_cmd_context ctx;
struct mail_search_args *search_args;
bool mutf7;
};
const char *const *doveadm_mailbox_args_to_mutf7(const char *const args[])
{
const char *mutf7;
unsigned int i;
str_truncate(str, 0);
}
(void)array_append_space(&dest);
}
{
struct doveadm_mailbox_cmd_context *ctx =
(struct doveadm_mailbox_cmd_context *)_ctx;
switch (c) {
case 's':
break;
default:
return FALSE;
}
return TRUE;
}
#define doveadm_mailbox_cmd_alloc(type) \
static struct doveadm_mail_cmd_context *
{
struct doveadm_mail_cmd_context *ctx;
return ctx;
}
static bool
{
switch (c) {
case '7':
break;
case '8':
break;
case 's':
break;
default:
return FALSE;
}
return TRUE;
}
static void
{
struct doveadm_mail_list_iter *iter;
const struct mailbox_info *info;
str_truncate(str, 0);
else
}
}
struct mail_search_args *
doveadm_mail_mailbox_search_args_build(const char *const args[])
{
struct mail_search_args *search_args;
struct mail_search_arg *arg;
unsigned int i;
}
if (i > 1) {
}
return search_args;
}
const char *const args[])
{
}
static struct doveadm_mail_cmd_context *cmd_mailbox_list_alloc(void)
{
struct list_cmd_context *ctx;
}
static void
{
struct mail_namespace *ns;
const char *const *namep;
const char *storage_name = *namep;
unsigned int len;
}
}
TRUE) < 0) {
}
}
mailbox_free(&box);
}
}
const char *const args[])
{
const char *name;
unsigned int i;
doveadm_mail_help_name("mailbox create");
}
}
static struct doveadm_mail_cmd_context *cmd_mailbox_create_alloc(void)
{
struct mailbox_cmd_context *ctx;
}
static void
{
struct mail_namespace *ns;
const char *const *namep;
const char *storage_name = *namep;
if (mailbox_delete(box) < 0) {
}
FALSE) < 0) {
}
}
mailbox_free(&box);
}
}
const char *const args[])
{
const char *name;
unsigned int i;
doveadm_mail_help_name("mailbox delete");
}
}
static struct doveadm_mail_cmd_context *cmd_mailbox_delete_alloc(void)
{
struct mailbox_cmd_context *ctx;
}
static void
{
}
}
}
}
}
const char *const args[])
{
doveadm_mail_help_name("mailbox rename");
}
static struct doveadm_mail_cmd_context *cmd_mailbox_rename_alloc(void)
{
struct rename_cmd_context *ctx;
}
static void
{
struct mail_namespace *ns;
const char *const *namep;
const char *storage_name = *namep;
"unsubscribe",
}
mailbox_free(&box);
}
}
const char *const args[])
{
const char *name;
unsigned int i;
"mailbox subscribe" :
"mailbox unsubscribe");
}
}
}
static struct doveadm_mail_cmd_context *
{
struct mailbox_cmd_context *ctx;
}
static struct doveadm_mail_cmd_context *cmd_mailbox_subscribe_alloc(void)
{
return cmd_mailbox_subscriptions_alloc(TRUE);
}
static struct doveadm_mail_cmd_context *cmd_mailbox_unsubscribe_alloc(void)
{
return cmd_mailbox_subscriptions_alloc(FALSE);
}
{
bool from_utf8;
unsigned int i;
int c;
switch (c) {
case '7':
break;
case '8':
break;
default:
}
}
str_truncate(str, 0);
if (from_utf8) {
i_error("Mailbox name not valid UTF-8: %s",
argv[i]);
}
} else {
i_error("Mailbox name not valid mUTF-7: %s",
argv[i]);
}
}
}
}
struct doveadm_mail_cmd cmd_mailbox_list = {
cmd_mailbox_list_alloc, "mailbox list",
"[-7|-8] [-s] [<mailbox mask> [...]]"
};
struct doveadm_mail_cmd cmd_mailbox_create = {
cmd_mailbox_create_alloc, "mailbox create",
"[-s] <mailbox> [...]"
};
struct doveadm_mail_cmd cmd_mailbox_delete = {
cmd_mailbox_delete_alloc, "mailbox delete",
"[-s] <mailbox> [...]"
};
struct doveadm_mail_cmd cmd_mailbox_rename = {
cmd_mailbox_rename_alloc, "mailbox rename",
"[-s] <old name> <new name>"
};
struct doveadm_mail_cmd cmd_mailbox_subscribe = {
cmd_mailbox_subscribe_alloc, "mailbox subscribe",
"<mailbox> [...]"
};
struct doveadm_mail_cmd cmd_mailbox_unsubscribe = {
cmd_mailbox_unsubscribe_alloc, "mailbox unsubscribe",
"<mailbox> [...]"
};
struct doveadm_cmd doveadm_cmd_mailbox_mutf7 = {
cmd_mailbox_mutf7, "mailbox mutf7",
"[-7|-8] <name> [...]", NULL
};