From 125867f268f2a49ff060a7adc859500500b77025 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= Date: Tue, 9 Aug 2022 09:35:19 +0200 Subject: [PATCH] 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 --- NEWS | 4 ++++ lang/cpp/src/context.cpp | 10 ++++++++++ lang/cpp/src/context.h | 3 +++ 3 files changed, 17 insertions(+) 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,