From 2a0595906970505debf64e166b9a35cccbf1b424 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= Date: Mon, 21 Oct 2024 14:47:10 +0200 Subject: cpp: Add support for new flag fields beta_compliance * lang/cpp/src/decryptionresult.cpp, lang/cpp/src/decryptionresult.h (class DecryptionResult): Add method isBetaCompliance. * lang/cpp/src/decryptionresult.cpp (operator<<): Add new flag. * lang/cpp/src/key.cpp, lang/cpp/src/key.h (class Key): Add method isBetaCompliance. (class Subkey): Add method isBetaCompliance. * lang/cpp/src/key.cpp: (Key::isDeVs): Remove duplicate check of is_de_vs of first subkey. (operator<<): Add new flag. * lang/cpp/src/verificationresult.cpp, lang/cpp/src/verificationresult.h (class Signature): Add method isBetaCompliance. * lang/cpp/src/verificationresult.cpp (operator<<): Add new flag. -- GnuPG-bug-id: 7346 --- lang/cpp/src/key.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'lang/cpp/src/key.cpp') diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp index 2465cf06..42046aa0 100644 --- a/lang/cpp/src/key.cpp +++ b/lang/cpp/src/key.cpp @@ -264,14 +264,24 @@ bool Key::isQualified() const bool Key::isDeVs() const { - if (!key) { + if (!key || !key->subkeys) { return false; } - if (!key->subkeys || !key->subkeys->is_de_vs) { + for (gpgme_sub_key_t subkey = key->subkeys ; subkey ; subkey = subkey->next) { + if (!subkey->is_de_vs) { + return false; + } + } + return true; +} + +bool Key::isBetaCompliance() const +{ + if (!key || !key->subkeys) { return false; } for (gpgme_sub_key_t subkey = key->subkeys ; subkey ; subkey = subkey->next) { - if (!subkey->is_de_vs) { + if (!subkey->beta_compliance) { return false; } } @@ -586,6 +596,11 @@ bool Subkey::isDeVs() const return subkey && subkey->is_de_vs; } +bool Subkey::isBetaCompliance() const +{ + return subkey && subkey->beta_compliance; +} + bool Subkey::isCardKey() const { return subkey && subkey->is_cardkey; @@ -1390,6 +1405,7 @@ std::ostream &operator<<(std::ostream &os, const Subkey &subkey) << "\n isGroupOwned: " << subkey.isGroupOwned() << "\n isQualified: " << subkey.isQualified() << "\n isDeVs: " << subkey.isDeVs() + << "\n isBetaCompliance:" << subkey.isBetaCompliance() << "\n isCardKey: " << subkey.isCardKey() << "\n cardSerialNumber:" << protect(subkey.cardSerialNumber()); } -- cgit v1.2.3