aboutsummaryrefslogtreecommitdiffstats
path: root/src/op-support.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-05-19 15:01:07 +0000
committerWerner Koch <[email protected]>2016-05-19 15:04:54 +0000
commit88f2c1c0d16eee6bb36a901623ea65ac69499f03 (patch)
tree4ac0d8ab84bee699987f61e277e8c4d80e857850 /src/op-support.c
parentapi: Remove arbitrary restriction from gpgme_op_verify. (diff)
downloadgpgme-88f2c1c0d16eee6bb36a901623ea65ac69499f03.tar.gz
gpgme-88f2c1c0d16eee6bb36a901623ea65ac69499f03.zip
api: Add new function gpgme_set_ctx_flag.
* src/gpgme.h.in (gpgme_set_ctx_flag): New prototype. * src/gpgme.c (gpgme_set_ctx_flag): New. * src/gpgme.def, src/libgpgme.vers: Add new function. * src/context.h (struct gpgme_context): Add FULL_STATUS. * src/decrypt.c (_gpgme_decrypt_status_handler): Do not call the status callback if FULL_STATUS is set. * src/genkey.c (genkey_status_handler): Ditto. * src/passphrase.c (_gpgme_passphrase_status_handler): Ditto. * src/sign.c (_gpgme_sign_status_handler): Ditto. * src/engine-backend.h (struct engine_ops): Add SET_STATUS_CB and add adjust all definitions of that variable. * src/engine.c (_gpgme_engine_set_status_cb): New. * src/op-support.c (_gpgme_op_reset): Call this function. * src/engine-gpg.c (struct engine_gpg): Add fields MON_CB and MON_CB_VALUE. (gpg_set_status_cb): New. (_gpgme_engine_ops_gpg): Register that function. (read_status): Call the monitor callback. * src/engine-gpgsm.c (struct engine_gpgsm): Add fields MON_CB and MON_CB_VALUE. (_gpgme_engine_ops_gpgsm): Register that function. (gpgsm_assuan_simple_command): Change first arg to be an engine context and adjust call callers. Call the monitor callback. * src/engine-uiserver.c (struct engine_uiserver): Add fields MON_CB and MON_CB_VALUE. (_gpgme_engine_ops_uiserver): Register that function. (uiserver_assuan_simple_command): Change first arg to be an engine context and adjust call callers. Call the monitor callback. * tests/run-verify.c (status_cb): New. (print_result): Print algo names. (main): Add option --status. -- This new feature is mainly intended for bug tracking. Having access to the raw status lines might also be useful for applications, though. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'src/op-support.c')
-rw-r--r--src/op-support.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/op-support.c b/src/op-support.c
index 4e388a41..a74405ef 100644
--- a/src/op-support.c
+++ b/src/op-support.c
@@ -148,6 +148,12 @@ _gpgme_op_reset (gpgme_ctx_t ctx, int type)
err = 0;
}
+ if (!err && ctx->status_cb && ctx->full_status)
+ {
+ _gpgme_engine_set_status_cb (ctx->engine,
+ ctx->status_cb, ctx->status_cb_value);
+ }
+
if (err)
{
_gpgme_engine_release (ctx->engine);