From 61a0d92b679f248505f1bf16386bc41a5bf2ba1d Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 7 Feb 2013 20:59:16 +0100 Subject: Add public function gpgme_set_pinentry_mode. * src/gpgme.c (gpgme_set_pinentry_mode): New. * src/gpgme.h.in (gpgme_pinentry_t): New. (gpgme_set_pinentry_mode): New. * src/context.h (struct gpgme_context): Add field pinentry_mode. * src/engine-backend.h (struct engine_ops): Add field set_pinentry_mode. * src/engine-gpg.c (struct engine_gpg): Add field pinentry_mode. (build_argv): Implement pinentry_mode. (gpg_set_pinentry_mode): New. (_gpgme_engine_ops_gpg): Register gpg_set_pinentry_mode. -- Note that this new fucntion may only be used with gpg 2.1. --- src/engine.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/engine.c') diff --git a/src/engine.c b/src/engine.c index d74f186f..09f379c7 100644 --- a/src/engine.c +++ b/src/engine.c @@ -923,3 +923,16 @@ _gpgme_engine_op_passwd (engine_t engine, gpgme_key_t key, return (*engine->ops->passwd) (engine->engine, key, flags); } + +/* Set the pinentry mode for ENGINE to MODE. */ +gpgme_error_t +_gpgme_engine_set_pinentry_mode (engine_t engine, gpgme_pinentry_mode_t mode) +{ + if (!engine) + return gpg_error (GPG_ERR_INV_VALUE); + + if (!engine->ops->set_pinentry_mode) + return gpg_error (GPG_ERR_NOT_IMPLEMENTED); + + return (*engine->ops->set_pinentry_mode) (engine->engine, mode); +} -- cgit v1.2.3