diff options
| author | Andre Heinecke <[email protected]> | 2019-02-21 12:05:55 +0000 | 
|---|---|---|
| committer | Andre Heinecke <[email protected]> | 2019-02-21 12:05:55 +0000 | 
| commit | 73b2f40ae5e6881991dea609b0781373b28d7d30 (patch) | |
| tree | ebb2562273dc459ae366710c74b8de21f55bb6ab /lang/cpp/src | |
| parent | cpp: Make GpgME::Data::toKeys really const (diff) | |
| download | gpgme-73b2f40ae5e6881991dea609b0781373b28d7d30.tar.gz gpgme-73b2f40ae5e6881991dea609b0781373b28d7d30.zip | |
cpp: Add ostream operators for import result
* lang/cpp/src/importresult.cpp: Add ostream operators.
* lang/cpp/src/importresult.h: Update accordingly.
Diffstat (limited to 'lang/cpp/src')
| -rw-r--r-- | lang/cpp/src/importresult.cpp | 42 | ||||
| -rw-r--r-- | lang/cpp/src/importresult.h | 5 | 
2 files changed, 46 insertions, 1 deletions
| diff --git a/lang/cpp/src/importresult.cpp b/lang/cpp/src/importresult.cpp index 05943ca0..20a3174b 100644 --- a/lang/cpp/src/importresult.cpp +++ b/lang/cpp/src/importresult.cpp @@ -35,6 +35,9 @@  #include <cstring>  #include <string.h> +#include <strings.h> +#include <istream> +#include <iterator>  class GpgME::ImportResult::Private  { @@ -224,3 +227,42 @@ GpgME::Import::Status GpgME::Import::status() const      }      return static_cast<Status>(result);  } + +std::ostream &GpgME::operator<<(std::ostream &os, +                                const GpgME::ImportResult &result) +{ +    os << "GpgME::ImportResult("; +    if (!result.isNull()) { +        os << "\n considered:          " << result.numConsidered() +           << "\n without UID:         " << result.numKeysWithoutUserID() +           << "\n imported:            " << result.numImported() +           << "\n RSA Imported:        " << result.numRSAImported() +           << "\n unchanged:           " << result.numUnchanged() +           << "\n newUserIDs:          " << result.newUserIDs() +           << "\n newSubkeys:          " << result.newSubkeys() +           << "\n newSignatures:       " << result.newSignatures() +           << "\n newRevocations:      " << result.newRevocations() +           << "\n numSecretKeysConsidered: " << result.numSecretKeysConsidered() +           << "\n numSecretKeysImported:   " << result.numSecretKeysImported() +           << "\n numSecretKeysUnchanged:  " << result.numSecretKeysUnchanged() +           << "\n" +           << "\n notImported:         " << result.notImported() +           << "\n numV3KeysSkipped:    " << result.numV3KeysSkipped() +           << "\n imports:\n"; +        const std::vector<Import> imp = result.imports(); +        std::copy(imp.begin(), imp.end(), +                  std::ostream_iterator<Import>(os, "\n")); +    } +    return os << ')'; +} + +std::ostream &GpgME::operator<<(std::ostream &os, const GpgME::Import &imp) +{ +    os << "GpgME::Import("; +    if (!imp.isNull()) { +        os << "\n fpr:       " << (imp.fingerprint() ? imp.fingerprint() : "null") +           << "\n status:    " << imp.status() +           << "\n err:       " << imp.error(); +    } +    return os << ')'; +} diff --git a/lang/cpp/src/importresult.h b/lang/cpp/src/importresult.h index 05476796..bcd956c3 100644 --- a/lang/cpp/src/importresult.h +++ b/lang/cpp/src/importresult.h @@ -129,7 +129,10 @@ private:      unsigned int idx;  }; -} +GPGMEPP_EXPORT std::ostream &operator<<(std::ostream &os, const ImportResult &irs); +GPGMEPP_EXPORT std::ostream &operator<<(std::ostream &os, const Import &imp); + +} // namespace GpgME  GPGMEPP_MAKE_STD_SWAP_SPECIALIZATION(ImportResult)  GPGMEPP_MAKE_STD_SWAP_SPECIALIZATION(Import) | 
