[Pkg-gnupg-commit] [gpgme] 377/412: cpp: Add support for gpgme_op_tofu_policy

Daniel Kahn Gillmor dkg at fifthhorseman.net
Thu Sep 22 21:27:23 UTC 2016


This is an automated email from the git hooks/post-receive script.

dkg pushed a commit to branch master
in repository gpgme.

commit 4d384d7bfef044094695271576ca233625bb520a
Author: Andre Heinecke <aheinecke at intevation.de>
Date:   Fri Sep 16 16:54:07 2016 +0200

    cpp: Add support for gpgme_op_tofu_policy
    
    * src/context.cpp, src/context.h (setTofuPolicy, setTofuPolicyStart):
    New.
---
 lang/cpp/src/context.cpp | 31 +++++++++++++++++++++++++++++++
 lang/cpp/src/context.h   |  4 ++++
 2 files changed, 35 insertions(+)

diff --git a/lang/cpp/src/context.cpp b/lang/cpp/src/context.cpp
index 1e134a0..00f397b 100644
--- a/lang/cpp/src/context.cpp
+++ b/lang/cpp/src/context.cpp
@@ -41,6 +41,7 @@
 #include "data_p.h"
 #include "context_p.h"
 #include "util.h"
+#include "tofuinfo.h"
 
 #include <gpgme.h>
 
@@ -1329,6 +1330,36 @@ Error Context::setPinentryMode(PinentryMode which)
     return Error(d->lasterr = gpgme_set_pinentry_mode(d->ctx, mode));
 }
 
+static gpgme_tofu_policy_t to_tofu_policy_t(unsigned int policy)
+{
+    switch (policy) {
+        case TofuInfo::PolicyNone:
+            return GPGME_TOFU_POLICY_NONE;
+        case TofuInfo::PolicyAuto:
+            return GPGME_TOFU_POLICY_AUTO;
+        case TofuInfo::PolicyGood:
+            return GPGME_TOFU_POLICY_GOOD;
+        case TofuInfo::PolicyBad:
+            return GPGME_TOFU_POLICY_BAD;
+        case TofuInfo::PolicyAsk:
+            return GPGME_TOFU_POLICY_ASK;
+        case TofuInfo::PolicyUnknown:
+            return GPGME_TOFU_POLICY_UNKNOWN;
+    }
+}
+
+Error Context::setTofuPolicy(const Key &k, unsigned int policy)
+{
+    return Error(d->lasterr = gpgme_op_tofu_policy(d->ctx,
+                 k.impl(), to_tofu_policy_t(policy)));
+}
+
+Error Context::setTofuPolicyStart(const Key &k, unsigned int policy)
+{
+    return Error(d->lasterr = gpgme_op_tofu_policy_start(d->ctx,
+                 k.impl(), to_tofu_policy_t(policy)));
+}
+
 // Engine Spawn stuff
 Error Context::spawn(const char *file, const char *argv[],
                      Data &input, Data &output, Data &err,
diff --git a/lang/cpp/src/context.h b/lang/cpp/src/context.h
index f5e2b95..b1e4f5f 100644
--- a/lang/cpp/src/context.h
+++ b/lang/cpp/src/context.h
@@ -214,6 +214,10 @@ public:
     GpgME::Error edit(const Key &key, std::unique_ptr<EditInteractor> function, Data &out);
     GpgME::Error startEditing(const Key &key, std::unique_ptr<EditInteractor> function, Data &out);
 
+    // using TofuInfo::Policy
+    Error setTofuPolicy(const Key &k, unsigned int policy);
+    Error setTofuPolicyStart(const Key &k, unsigned int policy);
+
     EditInteractor *lastEditInteractor() const;
     std::unique_ptr<EditInteractor> takeLastEditInteractor();
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gpgme.git



More information about the Pkg-gnupg-commit mailing list