From: Timo Sirainen Date: Fri, 21 Apr 2017 10:27:18 +0000 (+0300) Subject: imap: Add imap_client_vfuncs.send_tagline() X-Git-Tag: 2.3.0.rc1~1719 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f231cd77594d5a30e92118a1f6dda31f0e48bb52;p=thirdparty%2Fdovecot%2Fcore.git imap: Add imap_client_vfuncs.send_tagline() This allows plugins to catch all the IMAP command replies. --- diff --git a/src/imap/imap-client.c b/src/imap/imap-client.c index d4dafc5b72..91dbddd3d4 100644 --- a/src/imap/imap-client.c +++ b/src/imap/imap-client.c @@ -570,6 +570,12 @@ client_cmd_append_timing_stats(struct client_command_context *cmd, } void client_send_tagline(struct client_command_context *cmd, const char *data) +{ + cmd->client->v.send_tagline(cmd, data); +} + +static void +client_default_send_tagline(struct client_command_context *cmd, const char *data) { struct client *client = cmd->client; const char *tag = cmd->tag; @@ -1415,5 +1421,6 @@ void clients_destroy_all(struct mail_storage_service_ctx *storage_service) struct imap_client_vfuncs imap_client_vfuncs = { imap_state_export_base, imap_state_import_base, - client_default_destroy + client_default_destroy, + client_default_send_tagline, }; diff --git a/src/imap/imap-client.h b/src/imap/imap-client.h index 663917065c..8177c4db1c 100644 --- a/src/imap/imap-client.h +++ b/src/imap/imap-client.h @@ -130,6 +130,9 @@ struct imap_client_vfuncs { const unsigned char *data, size_t size, const char **error_r); void (*destroy)(struct client *client, const char *reason); + + void (*send_tagline)(struct client_command_context *cmd, + const char *data); }; struct client {