From 35023f313622fb1b34108dd934e84831c58b81aa Mon Sep 17 00:00:00 2001 From: Andre Heinecke Date: Tue, 21 Mar 2017 09:38:11 +0100 Subject: core: New public API gpgme_op_keylist_from_data_start. * src/gpgme.h.in: New API gpgme_op_keylist_from_data_start. * src/libgpgme.vers, src/gpgme.def: Add it. * src/keylist.c (gpgme_op_keylist_from_data_start): New. * src/engine-backend.h (engine_ops): Add field 'keylist_data'. Change all engines to pass NULL for it. * src/engine.c (_gpgme_engine_op_keylist_data): New. * src/engine-gpg.c (gpg_keylist_data): New. (_gpgme_engine_ops_gpg): Register gpg_keylist_data. * tests/run-keylist.c (main): New option --from-file. -- Co-authored-by: Werner Koch GnuPG-bug-id: 2819 --- 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 75d9ff7b..a918a50d 100644 --- a/src/engine.c +++ b/src/engine.c @@ -875,6 +875,19 @@ _gpgme_engine_op_keylist_ext (engine_t engine, const char *pattern[], } +gpgme_error_t +_gpgme_engine_op_keylist_data (engine_t engine, gpgme_data_t data) +{ + if (!engine) + return gpg_error (GPG_ERR_INV_VALUE); + + if (!engine->ops->keylist_data) + return gpg_error (GPG_ERR_NOT_IMPLEMENTED); + + return (*engine->ops->keylist_data) (engine->engine, data); +} + + gpgme_error_t _gpgme_engine_op_sign (engine_t engine, gpgme_data_t in, gpgme_data_t out, gpgme_sig_mode_t mode, int use_armor, -- cgit v1.2.3