diff options
author | Ingo Klöcker <[email protected]> | 2020-08-04 14:09:05 +0000 |
---|---|---|
committer | Ingo Klöcker <[email protected]> | 2020-08-04 14:53:28 +0000 |
commit | 197ba151e70c0aef35ee713b119d49e4637c1d05 (patch) | |
tree | 99327054f3926679dcdc02dff82fcff210117184 /lang/cpp/src | |
parent | core: New function gpgme_op_setexpire. (diff) | |
download | gpgme-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.cpp | 22 | ||||
-rw-r--r-- | lang/cpp/src/key.h | 1 |
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 |