# HG changeset patch # User Timo Sirainen # Date 1492770438 -10800 # Node ID 60ee14b2fa4bc8110cdbd2da9f502178d5e956aa # Parent a85bccd23139276977f6c3b5d28bd5ab5e7ce2dd imap: Add imap_client_vfuncs.send_tagline() This allows plugins to catch all the IMAP command replies. diff -r a85bccd23139 -r 60ee14b2fa4b src/imap/imap-client.c --- a/src/imap/imap-client.c Tue Apr 18 10:23:37 2017 +0300 +++ b/src/imap/imap-client.c Fri Apr 21 13:27:18 2017 +0300 @@ -576,6 +576,12 @@ 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; @@ -1409,5 +1415,6 @@ 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 -r a85bccd23139 -r 60ee14b2fa4b src/imap/imap-client.h --- a/src/imap/imap-client.h Tue Apr 18 10:23:37 2017 +0300 +++ b/src/imap/imap-client.h Fri Apr 21 13:27:18 2017 +0300 @@ -130,6 +130,9 @@ 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 {