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/key.cpp | |
| 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/key.cpp')
| -rw-r--r-- | lang/cpp/src/key.cpp | 22 | 
1 files changed, 22 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 << ')';  } | 
