From 93c5d420fcfe275aeff2b3d5ce99629edbe6625d Mon Sep 17 00:00:00 2001 From: Andre Heinecke Date: Fri, 1 Jul 2016 16:49:06 +0200 Subject: Cpp: Add TofuInfo to signatures * lang/cpp/src/tofuinfo.cpp, lang/cpp/src/tofuinfo.h: New class. * lang/cpp/src/verificationresult.cpp (Signature::tofuInfo): New. (VerificationResult::Private): Handle tofu info. (GpgME::operator<<(std::ostream &os, const Signature &sig)): Include TofuInfo in dump. * lang/cpp/src/verificationresult.h (Signature::tofuInfo): New. * lang/cpp/src/Makefile.am (main_sources, gpgmepp_headers): Add new files. * configure.ac (LIBGPGMEPP_LT_REVISION): Bump for new API. --- lang/cpp/src/verificationresult.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'lang/cpp/src/verificationresult.cpp') diff --git a/lang/cpp/src/verificationresult.cpp b/lang/cpp/src/verificationresult.cpp index b6fde7da..4bd1a7b1 100644 --- a/lang/cpp/src/verificationresult.cpp +++ b/lang/cpp/src/verificationresult.cpp @@ -24,6 +24,7 @@ #include #include "result_p.h" #include "util.h" +#include "tofuinfo.h" #include @@ -81,6 +82,11 @@ public: } nota.back().push_back(n); } + // copy tofu info: + tinfos.push_back(std::vector()); + for (gpgme_tofu_info_t in = is->tofu; in ; in = in->next) { + tinfos.back().push_back(TofuInfo(in)); + } } } ~Private() @@ -107,6 +113,7 @@ public: std::vector sigs; std::vector< std::vector > nota; + std::vector< std::vector > tinfos; std::vector purls; std::string file_name; }; @@ -363,6 +370,15 @@ std::vector GpgME::Signature::notations() const return result; } +std::vector GpgME::Signature::tofuInfo() const +{ + if (isNull()) { + return std::vector(); + } + + return d->tinfos[idx]; +} + class GpgME::Notation::Private { public: @@ -530,6 +546,9 @@ std::ostream &GpgME::operator<<(std::ostream &os, const Signature &sig) const std::vector nota = sig.notations(); std::copy(nota.begin(), nota.end(), std::ostream_iterator(os, "\n")); + const std::vector tinfos = sig.tofuInfo(); + std::copy(tinfos.begin(), tinfos.end(), + std::ostream_iterator(os, "\n")); } return os << ')'; } -- cgit v1.2.3