aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2013-02-07 19:59:16 +0000
committerWerner Koch <[email protected]>2013-02-07 19:59:16 +0000
commit61a0d92b679f248505f1bf16386bc41a5bf2ba1d (patch)
tree7f3e0358bb4f6004a395a55a2902b27940dcf79e /src/engine.c
parentAdd public function gpgme_io_writen. (diff)
downloadgpgme-61a0d92b679f248505f1bf16386bc41a5bf2ba1d.tar.gz
gpgme-61a0d92b679f248505f1bf16386bc41a5bf2ba1d.zip
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.
Diffstat (limited to 'src/engine.c')
-rw-r--r--src/engine.c13
1 files changed, 13 insertions, 0 deletions
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);
+}