Mercurial > dovecot > core-2.2
changeset 19771:7307f2716d6f
doveadm: Use ver2 structures for all "doveadm mailbox *" commands.
author | Aki Tuomi <aki.tuomi@dovecot.fi> |
---|---|
date | Fri, 19 Feb 2016 15:03:51 +0200 |
parents | 7a5ab5070433 |
children | f8cbc32dcd1e |
files | src/doveadm/doveadm-mail-mailbox-metadata.c src/doveadm/doveadm-mail-mailbox-status.c src/doveadm/doveadm-mail-mailbox.c src/doveadm/doveadm-mail.c src/doveadm/doveadm-mail.h |
diffstat | 5 files changed, 134 insertions(+), 58 deletions(-) [+] |
line wrap: on
line diff
--- a/src/doveadm/doveadm-mail-mailbox-metadata.c Fri Feb 19 15:02:56 2016 +0200 +++ b/src/doveadm/doveadm-mail-mailbox-metadata.c Fri Feb 19 15:03:51 2016 +0200 @@ -286,22 +286,46 @@ return &ctx->ctx; } -struct doveadm_mail_cmd cmd_mailbox_metadata_set = { - cmd_mailbox_metadata_set_alloc, "mailbox metadata set", - "<mailbox> <key> <value>" -}; - -struct doveadm_mail_cmd cmd_mailbox_metadata_unset = { - cmd_mailbox_metadata_unset_alloc, "mailbox metadata unset", - "<mailbox> <key>" +struct doveadm_cmd_ver2 doveadm_cmd_mailbox_metadata_set_ver2 = { + .name = "mailbox metadata set", + .mail_cmd = cmd_mailbox_metadata_set_alloc, + .usage = "<mailbox> <key> <value>", +DOVEADM_CMD_PARAMS_START +DOVEADM_CMD_MAIL_COMMON +DOVEADM_CMD_PARAM(":", "mailbox", CMD_PARAM_STR, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAM(":", "key", CMD_PARAM_STR, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAM(":", "value", CMD_PARAM_STR, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAMS_END }; -struct doveadm_mail_cmd cmd_mailbox_metadata_get = { - cmd_mailbox_metadata_get_alloc, "mailbox metadata get", - "<mailbox> <key>" +struct doveadm_cmd_ver2 doveadm_cmd_mailbox_metadata_unset_ver2 = { + .name = "mailbox metadata unset", + .mail_cmd = cmd_mailbox_metadata_unset_alloc, + .usage = "<mailbox> <key>", +DOVEADM_CMD_PARAMS_START +DOVEADM_CMD_MAIL_COMMON +DOVEADM_CMD_PARAM(":", "mailbox", CMD_PARAM_STR, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAM(":", "key", CMD_PARAM_STR, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAMS_END }; -struct doveadm_mail_cmd cmd_mailbox_metadata_list = { - cmd_mailbox_metadata_list_alloc, "mailbox metadata list", - "<mailbox> [<key prefix>]" +struct doveadm_cmd_ver2 doveadm_cmd_mailbox_metadata_get_ver2 = { + .name = "mailbox metadata get", + .mail_cmd = cmd_mailbox_metadata_get_alloc, + .usage = "<mailbox> <key>", +DOVEADM_CMD_PARAMS_START +DOVEADM_CMD_MAIL_COMMON +DOVEADM_CMD_PARAM(":", "mailbox", CMD_PARAM_STR, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAM(":", "key", CMD_PARAM_STR, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAMS_END }; + +struct doveadm_cmd_ver2 doveadm_cmd_mailbox_metadata_list_ver2 = { + .name = "mailbox metadata list", + .mail_cmd = cmd_mailbox_metadata_list_alloc, + .usage = "<mailbox> [<key prefix>]", +DOVEADM_CMD_PARAMS_START +DOVEADM_CMD_MAIL_COMMON +DOVEADM_CMD_PARAM(":", "key-prefix", CMD_PARAM_STR, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAMS_END +};
--- a/src/doveadm/doveadm-mail-mailbox-status.c Fri Feb 19 15:02:56 2016 +0200 +++ b/src/doveadm/doveadm-mail-mailbox-status.c Fri Feb 19 15:03:51 2016 +0200 @@ -247,7 +247,15 @@ return &ctx->ctx; } -struct doveadm_mail_cmd cmd_mailbox_status = { - cmd_mailbox_status_alloc, "mailbox status", - "[-t] <fields> <mailbox mask> [...]" +struct doveadm_cmd_ver2 doveadm_cmd_mailbox_status_ver2 = { + .name = "mailbox status", + .mail_cmd = cmd_mailbox_status_alloc, + .usage = "<mailbox> [...]", +DOVEADM_CMD_PARAMS_START +DOVEADM_CMD_MAIL_COMMON +DOVEADM_CMD_PARAM("t", "total-sum", CMD_PARAM_BOOL, 0) +DOVEADM_CMD_PARAM("f:", "field", CMD_PARAM_ARRAY, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAM(":", "fieldstr", CMD_PARAM_STR, CMD_PARAM_FLAG_POSITIONAL | CMD_PARAM_FLAG_DO_NOT_EXPOSE) /* FIXME: horrible hack, remove me when possible */ +DOVEADM_CMD_PARAM(":", "mask", CMD_PARAM_ARRAY, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAMS_END };
--- a/src/doveadm/doveadm-mail-mailbox.c Fri Feb 19 15:02:56 2016 +0200 +++ b/src/doveadm/doveadm-mail-mailbox.c Fri Feb 19 15:03:51 2016 +0200 @@ -556,27 +556,70 @@ return cmd_mailbox_subscriptions_alloc(FALSE); } -struct doveadm_mail_cmd cmd_mailbox_list = { - cmd_mailbox_list_alloc, "mailbox list", - "[-7|-8] [-s] [<mailbox mask> [...]]" +struct doveadm_cmd_ver2 doveadm_cmd_mailbox_list_ver2 = { + .name = "mailbox list", + .mail_cmd = cmd_mailbox_list_alloc, + .usage = "[-7|-8] [-s] [<mailbox mask> [...]]", +DOVEADM_CMD_PARAMS_START +DOVEADM_CMD_MAIL_COMMON +DOVEADM_CMD_PARAM("7", "mutf7", CMD_PARAM_BOOL, 0) +DOVEADM_CMD_PARAM("8", "no-mutf7", CMD_PARAM_BOOL, 0) +DOVEADM_CMD_PARAM("s", "subscriptions", CMD_PARAM_BOOL, 0) +DOVEADM_CMD_PARAM(":", "mask", CMD_PARAM_ARRAY, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAMS_END }; -struct doveadm_mail_cmd cmd_mailbox_create = { - cmd_mailbox_create_alloc, "mailbox create", - "[-s] [-g <guid>] <mailbox> [...]" -}; -struct doveadm_mail_cmd cmd_mailbox_delete = { - cmd_mailbox_delete_alloc, "mailbox delete", - "[-s] <mailbox> [...]" + +struct doveadm_cmd_ver2 doveadm_cmd_mailbox_create_ver2 = { + .name = "mailbox create", + .mail_cmd = cmd_mailbox_create_alloc, + .usage = "[-s] [-g <guid>] <mailbox> [...]", +DOVEADM_CMD_PARAMS_START +DOVEADM_CMD_MAIL_COMMON +DOVEADM_CMD_PARAM("s", "subscriptions", CMD_PARAM_BOOL, 0) +DOVEADM_CMD_PARAM("g", "guid", CMD_PARAM_STR, 0) +DOVEADM_CMD_PARAM(":", "mailbox", CMD_PARAM_ARRAY, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAMS_END }; -struct doveadm_mail_cmd cmd_mailbox_rename = { - cmd_mailbox_rename_alloc, "mailbox rename", - "[-s] <old name> <new name>" + +struct doveadm_cmd_ver2 doveadm_cmd_mailbox_delete_ver2 = { + .name = "mailbox delete", + .mail_cmd = cmd_mailbox_delete_alloc, + .usage = "[-s] <mailbox> [...]", +DOVEADM_CMD_PARAMS_START +DOVEADM_CMD_MAIL_COMMON +DOVEADM_CMD_PARAM("s", "subscriptions", CMD_PARAM_BOOL, 0) +DOVEADM_CMD_PARAM(":", "mailbox", CMD_PARAM_ARRAY, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAMS_END }; -struct doveadm_mail_cmd cmd_mailbox_subscribe = { - cmd_mailbox_subscribe_alloc, "mailbox subscribe", - "<mailbox> [...]" + +struct doveadm_cmd_ver2 doveadm_cmd_mailbox_rename_ver2 = { + .name = "mailbox rename", + .mail_cmd = cmd_mailbox_rename_alloc, + .usage = "[-s] <old name> <new name>", +DOVEADM_CMD_PARAMS_START +DOVEADM_CMD_MAIL_COMMON +DOVEADM_CMD_PARAM("s", "subscriptions", CMD_PARAM_BOOL, 0) +DOVEADM_CMD_PARAM(":", "old", CMD_PARAM_STR, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAM(":", "new", CMD_PARAM_STR, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAMS_END }; -struct doveadm_mail_cmd cmd_mailbox_unsubscribe = { - cmd_mailbox_unsubscribe_alloc, "mailbox unsubscribe", - "<mailbox> [...]" + +struct doveadm_cmd_ver2 doveadm_cmd_mailbox_subscribe_ver2 = { + .name = "mailbox subscribe", + .mail_cmd = cmd_mailbox_subscribe_alloc, + .usage = "<mailbox> [...]", +DOVEADM_CMD_PARAMS_START +DOVEADM_CMD_MAIL_COMMON +DOVEADM_CMD_PARAM(":", "mailbox", CMD_PARAM_ARRAY, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAMS_END }; + +struct doveadm_cmd_ver2 doveadm_cmd_mailbox_unsubscribe_ver2 = { + .name = "mailbox unsubscribe", + .mail_cmd = cmd_mailbox_unsubscribe_alloc, + .usage = "<mailbox> [...]", +DOVEADM_CMD_PARAMS_START +DOVEADM_CMD_MAIL_COMMON +DOVEADM_CMD_PARAM(":", "mailbox", CMD_PARAM_ARRAY, CMD_PARAM_FLAG_POSITIONAL) +DOVEADM_CMD_PARAMS_END +};
--- a/src/doveadm/doveadm-mail.c Fri Feb 19 15:02:56 2016 +0200 +++ b/src/doveadm/doveadm-mail.c Fri Feb 19 15:03:51 2016 +0200 @@ -827,17 +827,6 @@ &cmd_copy, &cmd_deduplicate, &cmd_move, - &cmd_mailbox_list, - &cmd_mailbox_create, - &cmd_mailbox_delete, - &cmd_mailbox_rename, - &cmd_mailbox_subscribe, - &cmd_mailbox_unsubscribe, - &cmd_mailbox_status, - &cmd_mailbox_metadata_set, - &cmd_mailbox_metadata_unset, - &cmd_mailbox_metadata_get, - &cmd_mailbox_metadata_list, &cmd_batch, &cmd_dsync_backup, &cmd_dsync_mirror, @@ -845,6 +834,17 @@ }; static struct doveadm_cmd_ver2 *mail_commands_ver2[] = { + &doveadm_cmd_mailbox_metadata_set_ver2, + &doveadm_cmd_mailbox_metadata_unset_ver2, + &doveadm_cmd_mailbox_metadata_get_ver2, + &doveadm_cmd_mailbox_metadata_list_ver2, + &doveadm_cmd_mailbox_status_ver2, + &doveadm_cmd_mailbox_list_ver2, + &doveadm_cmd_mailbox_create_ver2, + &doveadm_cmd_mailbox_delete_ver2, + &doveadm_cmd_mailbox_rename_ver2, + &doveadm_cmd_mailbox_subscribe_ver2, + &doveadm_cmd_mailbox_unsubscribe_ver2 }; void doveadm_mail_init(void)
--- a/src/doveadm/doveadm-mail.h Fri Feb 19 15:02:56 2016 +0200 +++ b/src/doveadm/doveadm-mail.h Fri Feb 19 15:03:51 2016 +0200 @@ -182,19 +182,20 @@ extern struct doveadm_mail_cmd cmd_copy; extern struct doveadm_mail_cmd cmd_deduplicate; extern struct doveadm_mail_cmd cmd_move; -extern struct doveadm_mail_cmd cmd_mailbox_list; -extern struct doveadm_mail_cmd cmd_mailbox_create; -extern struct doveadm_mail_cmd cmd_mailbox_delete; -extern struct doveadm_mail_cmd cmd_mailbox_rename; -extern struct doveadm_mail_cmd cmd_mailbox_subscribe; -extern struct doveadm_mail_cmd cmd_mailbox_unsubscribe; -extern struct doveadm_mail_cmd cmd_mailbox_status; -extern struct doveadm_mail_cmd cmd_mailbox_metadata_set; -extern struct doveadm_mail_cmd cmd_mailbox_metadata_unset; -extern struct doveadm_mail_cmd cmd_mailbox_metadata_get; -extern struct doveadm_mail_cmd cmd_mailbox_metadata_list; extern struct doveadm_mail_cmd cmd_batch; +extern struct doveadm_cmd_ver2 doveadm_cmd_mailbox_metadata_set_ver2; +extern struct doveadm_cmd_ver2 doveadm_cmd_mailbox_metadata_unset_ver2; +extern struct doveadm_cmd_ver2 doveadm_cmd_mailbox_metadata_get_ver2; +extern struct doveadm_cmd_ver2 doveadm_cmd_mailbox_metadata_list_ver2; +extern struct doveadm_cmd_ver2 doveadm_cmd_mailbox_status_ver2; +extern struct doveadm_cmd_ver2 doveadm_cmd_mailbox_list_ver2; +extern struct doveadm_cmd_ver2 doveadm_cmd_mailbox_create_ver2; +extern struct doveadm_cmd_ver2 doveadm_cmd_mailbox_delete_ver2; +extern struct doveadm_cmd_ver2 doveadm_cmd_mailbox_rename_ver2; +extern struct doveadm_cmd_ver2 doveadm_cmd_mailbox_subscribe_ver2; +extern struct doveadm_cmd_ver2 doveadm_cmd_mailbox_unsubscribe_ver2; + #define DOVEADM_CMD_MAIL_COMMON \ DOVEADM_CMD_PARAM("A", "all-users", CMD_PARAM_BOOL, 0) \ DOVEADM_CMD_PARAM("S:", "socket-path", CMD_PARAM_STR, 0) \