From 5a5b0d4996c17bfbc69b90f89fec23732f92813a Mon Sep 17 00:00:00 2001 From: Andre Heinecke Date: Fri, 9 Feb 2018 16:03:37 +0100 Subject: [PATCH] cpp: Add conveniance Data::toString * lang/cpp/src/data.h, lang/cpp/src/data.cpp: Add Data::toString. -- I'm lazy and like to waste memory. --- lang/cpp/src/data.cpp | 14 ++++++++++++++ lang/cpp/src/data.h | 3 +++ 2 files changed, 17 insertions(+) diff --git a/lang/cpp/src/data.cpp b/lang/cpp/src/data.cpp index 32ca561b..52b8da24 100644 --- a/lang/cpp/src/data.cpp +++ b/lang/cpp/src/data.cpp @@ -254,3 +254,17 @@ std::vector GpgME::Data::toKeys(Protocol proto) const delete ctx; return ret; } + +std::string GpgME::Data::toString() +{ + std::string ret; + char buf[4096]; + size_t nread; + seek (0, SEEK_SET); + while ((nread = read (buf, 4096)) > 0) + { + ret += std::string (buf, nread); + } + seek (0, SEEK_SET); + return ret; +} diff --git a/lang/cpp/src/data.h b/lang/cpp/src/data.h index cc7906fb..446f6fa3 100644 --- a/lang/cpp/src/data.h +++ b/lang/cpp/src/data.h @@ -114,6 +114,9 @@ public: * Protocol proto. Returns an empty list on error.*/ std::vector toKeys(const Protocol proto = Protocol::OpenPGP) const; + /** Return a copy of the data as std::string. Sets seek pos to 0 */ + std::string toString(); + class Private; Private *impl() {