]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imap: Add imap_client_vfuncs.send_tagline()
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 21 Apr 2017 10:27:18 +0000 (13:27 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 21 Apr 2017 13:34:39 +0000 (16:34 +0300)
This allows plugins to catch all the IMAP command replies.

src/imap/imap-client.c
src/imap/imap-client.h

index c9e890351c5b05ee29fec29c0e987d9adbc97ce8..51d3d716570d3550b603c8161061d98c2494b707 100644 (file)
@@ -575,6 +575,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;
@@ -1409,5 +1415,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,
 };
index e97998f7c0b1147bf209a61c8935f650c988bc54..4dce90e4bcd403347f218a59c1a2eb3edc8cd6dd 100644 (file)
@@ -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 {