Mercurial > dovecot > core-2.2
changeset 21899:d3f92c9be7d4
lib-imap-client: Add login_callback setter
This way it can be set before actually calling login
which might happen some time later.
author | Aki Tuomi <aki.tuomi@dovecot.fi> |
---|---|
date | Wed, 05 Apr 2017 12:09:57 +0300 |
parents | a0c4080f1005 |
children | de92e4fbb7c9 |
files | src/lib-imap-client/imapc-client-private.h src/lib-imap-client/imapc-client.c src/lib-imap-client/imapc-client.h |
diffstat | 3 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-imap-client/imapc-client-private.h Tue Apr 04 23:33:51 2017 +0300 +++ b/src/lib-imap-client/imapc-client-private.h Wed Apr 05 12:09:57 2017 +0300 @@ -23,6 +23,9 @@ imapc_state_change_callback_t *state_change_callback; void *state_change_context; + imapc_command_callback_t *login_callback; + void *login_context; + ARRAY(struct imapc_client_connection *) conns; bool logging_out;
--- a/src/lib-imap-client/imapc-client.c Tue Apr 04 23:33:51 2017 +0300 +++ b/src/lib-imap-client/imapc-client.c Wed Apr 05 12:09:57 2017 +0300 @@ -540,3 +540,12 @@ client->state_change_callback = cb; client->state_change_context = context; } + +void +imapc_client_set_login_callback(struct imapc_client *client, + imapc_command_callback_t *callback, void *context) +{ + client->login_callback = callback; + client->login_context = context; +} +
--- a/src/lib-imap-client/imapc-client.h Tue Apr 04 23:33:51 2017 +0300 +++ b/src/lib-imap-client/imapc-client.h Wed Apr 05 12:09:57 2017 +0300 @@ -173,6 +173,10 @@ void imapc_client_disconnect(struct imapc_client *client); void imapc_client_deinit(struct imapc_client **client); +/* Set login callback, must be set before calling other commands */ +void +imapc_client_set_login_callback(struct imapc_client *client, + imapc_command_callback_t *callback, void *context); /* Explicitly login to server (also done automatically). */ void imapc_client_login(struct imapc_client *client, imapc_command_callback_t *callback, void *context);