cpp: Add API to obtain mutliple remarks
authorAndre Heinecke <aheinecke@gnupg.org>
Mon, 4 Nov 2019 12:54:55 +0000 (13:54 +0100)
committerAndre Heinecke <aheinecke@gnupg.org>
Mon, 4 Nov 2019 12:54:55 +0000 (13:54 +0100)
* lang/cpp/src/key.cpp, lang/cpp/src/key.h (UserID::remarks): New.
* NEWS: Mention this.

--
This can be useful if we want to show remarks made by others, too.

For:
GnuPG-Bug-Id: T4734

NEWS
lang/cpp/src/key.cpp
lang/cpp/src/key.h

diff --git a/NEWS b/NEWS
index a986f93..b0490be 100644 (file)
--- 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.
index e2d91a1..5108a6e 100644 (file)
@@ -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
index cca3c7a..cf4e905 100644 (file)
@@ -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;