aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--lang/cpp/src/key.cpp16
-rw-r--r--lang/cpp/src/key.h4
3 files changed, 21 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index a986f937..b0490bef 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,7 @@ Noteworthy changes in version 1.14.0 (unreleased)
* Interface changes relative to the 1.13.1 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cpp: UserID::remark NEW.
+ cpp: UserID::remarks NEW.
cpp: GpgSignKeyEditInteractor::setDupeOk NEW.
qt: SignKeyJob::setDupeOk NEW.
qt: SignKeyJob::setRemark NEW.
diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp
index e2d91a10..5108a6ee 100644
--- a/lang/cpp/src/key.cpp
+++ b/lang/cpp/src/key.cpp
@@ -777,6 +777,22 @@ const char *UserID::remark(const Key &remarker, Error &err) const
return nullptr;
}
+std::vector<std::string> UserID::remarks(std::vector<Key> keys, Error &err) const
+{
+ std::vector<std::string> ret;
+
+ for (const auto &key: keys) {
+ const char *rem = remark(key, err);
+ if (err) {
+ return ret;
+ }
+ if (rem) {
+ ret.push_back(rem);
+ }
+ }
+ return ret;
+}
+
//
//
// class Signature
diff --git a/lang/cpp/src/key.h b/lang/cpp/src/key.h
index cca3c7a6..cf4e9054 100644
--- a/lang/cpp/src/key.h
+++ b/lang/cpp/src/key.h
@@ -430,6 +430,10 @@ public:
const char *remark(const Key &key,
Error &error) const;
+ /*! Get multiple remarks made by potentially multiple keys. */
+ std::vector <std::string> remarks(std::vector<GpgME::Key> remarkers,
+ Error &error) const;
+
private:
shared_gpgme_key_t key;
gpgme_user_id_t uid;