]> 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 10:27:18 +0000 (13:27 +0300)
This allows plugins to catch all the IMAP command replies.

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

index d4dafc5b72903f038721adf72c08716c222865c1..91dbddd3d4e009249c9f8ac46b712694853e52d1 100644 (file)
@@ -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,
 };
index 663917065cb58a21abaefcc3788d9909d4a0039e..8177c4db1c741f811f446681e643969eb1f09d2b 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 {