aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Klöcker <[email protected]>2022-08-09 07:35:19 +0000
committerIngo Klöcker <[email protected]>2022-08-09 12:52:42 +0000
commit125867f268f2a49ff060a7adc859500500b77025 (patch)
tree8aff1557ecd70aa55d1858d94f816a32a48e0a30
parentpython: Don't call __del__ from __exit__ method. (diff)
downloadgpgme-125867f268f2a49ff060a7adc859500500b77025.tar.gz
gpgme-125867f268f2a49ff060a7adc859500500b77025.zip
cpp: Add support for gpgme_op_set_uid_flag
* lang/cpp/src/context.cpp, lang/cpp/src/context.h (Context::setPrimaryUid, Context::startSetPrimaryUid): New. -- GnuPG-bug-id: 5938
-rw-r--r--NEWS4
-rw-r--r--lang/cpp/src/context.cpp10
-rw-r--r--lang/cpp/src/context.h3
3 files changed, 17 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 0807fe4e..ffe70e7b 100644
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,8 @@ Noteworthy changes in version 1.17.2 (unreleased)
* cpp, qt: Support revocation of own OpenPGP keys. [#5904]
+ * cpp: Support setting the primary user ID. [#5938]
+
* Interface changes relative to the 1.17.1 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GPGME_KEYLIST_MODE_FORCE_EXTERN NEW.
@@ -17,6 +19,8 @@ Noteworthy changes in version 1.17.2 (unreleased)
cpp: KeyListMode::ForceExtern NEW.
cpp: KeyListMode::LocateExternal NEW.
cpp: KeyListMode::KeyListModeMask NEW.
+ cpp: Context::setPrimaryUid NEW.
+ cpp: Context::startSetPrimaryUid NEW.
qt: RevokeKeyJob NEW.
qt: Protocol::revokeKeyJob NEW.
diff --git a/lang/cpp/src/context.cpp b/lang/cpp/src/context.cpp
index 61b3e0e2..dba958cf 100644
--- a/lang/cpp/src/context.cpp
+++ b/lang/cpp/src/context.cpp
@@ -1641,6 +1641,16 @@ Error Context::startRevUid(const Key &k, const char *userid)
k.impl(), userid, 0));
}
+Error Context::setPrimaryUid(const Key &k, const char *userid)
+{
+ return Error(d->lasterr = gpgme_op_set_uid_flag(d->ctx, k.impl(), userid, "primary", nullptr));
+}
+
+Error Context::startSetPrimaryUid(const Key &k, const char *userid)
+{
+ return Error(d->lasterr = gpgme_op_set_uid_flag_start(d->ctx, k.impl(), userid, "primary", nullptr));
+}
+
Error Context::createSubkey(const Key &k, const char *algo,
unsigned long reserved,
unsigned long expires,
diff --git a/lang/cpp/src/context.h b/lang/cpp/src/context.h
index 405d54ea..7bd1b03d 100644
--- a/lang/cpp/src/context.h
+++ b/lang/cpp/src/context.h
@@ -295,6 +295,9 @@ public:
Error revUid(const Key &key, const char *userid);
Error startRevUid(const Key &key, const char *userid);
+ Error setPrimaryUid(const Key &key, const char *userid);
+ Error startSetPrimaryUid(const Key &key, const char *userid);
+
Error createSubkey(const Key &key, const char *algo,
unsigned long reserved = 0,
unsigned long expires = 0,