aboutsummaryrefslogtreecommitdiffstats
path: root/trunk/gpgme/engine.c
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/gpgme/engine.c')
-rw-r--r--trunk/gpgme/engine.c36
1 files changed, 34 insertions, 2 deletions
diff --git a/trunk/gpgme/engine.c b/trunk/gpgme/engine.c
index ef7147d4..cf3fe9fe 100644
--- a/trunk/gpgme/engine.c
+++ b/trunk/gpgme/engine.c
@@ -47,7 +47,12 @@ static struct engine_ops *engine_ops[] =
{
&_gpgme_engine_ops_gpg, /* OpenPGP. */
#ifdef ENABLE_GPGSM
- &_gpgme_engine_ops_gpgsm /* CMS. */
+ &_gpgme_engine_ops_gpgsm, /* CMS. */
+#else
+ NULL,
+#endif
+#ifdef ENABLE_GPGCONF
+ &_gpgme_engine_ops_gpgconf /* gpg-conf. */
#else
NULL
#endif
@@ -169,7 +174,8 @@ gpgme_get_engine_info (gpgme_engine_info_t *info)
{
gpgme_engine_info_t *lastp = &engine_info;
gpgme_protocol_t proto_list[] = { GPGME_PROTOCOL_OpenPGP,
- GPGME_PROTOCOL_CMS };
+ GPGME_PROTOCOL_CMS,
+ GPGME_PROTOCOL_GPGCONF };
unsigned int proto;
for (proto = 0; proto < DIM (proto_list); proto++)
@@ -724,6 +730,32 @@ _gpgme_engine_op_getauditlog (engine_t engine, gpgme_data_t output,
}
+gpgme_error_t
+_gpgme_engine_op_conf_load (engine_t engine, gpgme_conf_comp_t *conf_p)
+{
+ if (!engine)
+ return gpg_error (GPG_ERR_INV_VALUE);
+
+ if (!engine->ops->conf_load)
+ return gpg_error (GPG_ERR_NOT_IMPLEMENTED);
+
+ return (*engine->ops->conf_load) (engine->engine, conf_p);
+}
+
+
+gpgme_error_t
+_gpgme_engine_op_conf_save (engine_t engine, gpgme_conf_comp_t conf)
+{
+ if (!engine)
+ return gpg_error (GPG_ERR_INV_VALUE);
+
+ if (!engine->ops->conf_save)
+ return gpg_error (GPG_ERR_NOT_IMPLEMENTED);
+
+ return (*engine->ops->conf_save) (engine->engine, conf);
+}
+
+
void
_gpgme_engine_set_io_cbs (engine_t engine, gpgme_io_cbs_t io_cbs)
{