aboutsummaryrefslogtreecommitdiffstats
path: root/lang/cpp/src/key.cpp
diff options
context:
space:
mode:
authorIngo Klöcker <[email protected]>2024-10-21 12:47:10 +0000
committerIngo Klöcker <[email protected]>2024-10-21 12:47:10 +0000
commit2a0595906970505debf64e166b9a35cccbf1b424 (patch)
tree9253f314d839a7e1d06a7c7db3ff7db224e2425c /lang/cpp/src/key.cpp
parentdoc: Fix, update, add API documentation (diff)
downloadgpgme-2a0595906970505debf64e166b9a35cccbf1b424.tar.gz
gpgme-2a0595906970505debf64e166b9a35cccbf1b424.zip
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
Diffstat (limited to 'lang/cpp/src/key.cpp')
-rw-r--r--lang/cpp/src/key.cpp22
1 files changed, 19 insertions, 3 deletions
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());
}