aboutsummaryrefslogtreecommitdiffstats
path: root/lang/cpp/src
diff options
context:
space:
mode:
authorIngo Klöcker <[email protected]>2020-08-04 14:09:05 +0000
committerIngo Klöcker <[email protected]>2020-08-04 14:53:28 +0000
commit197ba151e70c0aef35ee713b119d49e4637c1d05 (patch)
tree99327054f3926679dcdc02dff82fcff210117184 /lang/cpp/src
parentcore: New function gpgme_op_setexpire. (diff)
downloadgpgme-197ba151e70c0aef35ee713b119d49e4637c1d05.tar.gz
gpgme-197ba151e70c0aef35ee713b119d49e4637c1d05.zip
cpp: Add ostream operator for subkey
* lang/cpp/src/key.cpp (Subkey): Add ostream operator. * lang/cpp/src/key.h: Update accordingly. -- This is helpful for debugging / showing the state of a subkey.
Diffstat (limited to 'lang/cpp/src')
-rw-r--r--lang/cpp/src/key.cpp22
-rw-r--r--lang/cpp/src/key.h1
2 files changed, 23 insertions, 0 deletions
diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp
index c422fcc5..5d6560b1 100644
--- a/lang/cpp/src/key.cpp
+++ b/lang/cpp/src/key.cpp
@@ -1147,6 +1147,25 @@ std::ostream &operator<<(std::ostream &os, const UserID &uid)
return os << ')';
}
+std::ostream &operator<<(std::ostream &os, const Subkey &subkey)
+{
+ os << "GpgME::Subkey(";
+ if (!subkey.isNull()) {
+ os << "\n fingerprint: " << protect(subkey.fingerprint())
+ << "\n creationTime: " << subkey.creationTime()
+ << "\n expirationTime:" << subkey.expirationTime()
+ << "\n isRevoked: " << subkey.isRevoked()
+ << "\n isExpired: " << subkey.isExpired()
+ << "\n isInvalid: " << subkey.isRevoked()
+ << "\n isDisabled: " << subkey.isInvalid()
+ << "\n canSign: " << subkey.canSign()
+ << "\n canEncrypt: " << subkey.canEncrypt()
+ << "\n canCertify: " << subkey.canCertify()
+ << "\n canAuth: " << subkey.canAuthenticate();
+ }
+ return os << ')';
+}
+
std::ostream &operator<<(std::ostream &os, const Key &key)
{
os << "GpgME::Key(";
@@ -1166,6 +1185,9 @@ std::ostream &operator<<(std::ostream &os, const Key &key)
const std::vector<UserID> uids = key.userIDs();
std::copy(uids.begin(), uids.end(),
std::ostream_iterator<UserID>(os, "\n"));
+ const std::vector<Subkey> subkeys = key.subkeys();
+ std::copy(subkeys.begin(), subkeys.end(),
+ std::ostream_iterator<Subkey>(os, "\n"));
}
return os << ')';
}
diff --git a/lang/cpp/src/key.h b/lang/cpp/src/key.h
index fc5e67ee..d3c6125a 100644
--- a/lang/cpp/src/key.h
+++ b/lang/cpp/src/key.h
@@ -516,6 +516,7 @@ private:
};
GPGMEPP_EXPORT std::ostream &operator<<(std::ostream &os, const UserID &uid);
+GPGMEPP_EXPORT std::ostream &operator<<(std::ostream &os, const Subkey &subkey);
GPGMEPP_EXPORT std::ostream &operator<<(std::ostream &os, const Key &key);
} // namespace GpgME