author | Michael Krelin <hacker@klever.net> | 2013-02-13 22:38:54 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2013-02-13 22:38:54 (UTC) |
commit | d6545bd95153a5e41cdae441643f4e4a0af94a49 (patch) (side-by-side diff) | |
tree | 51e1ae7f4a3cba4de21e9c62b28c55d414064566 /src/eyetil.h | |
parent | dd545573337e3c54ad4c2c64d72f750ad03aa2c9 (diff) | |
download | iii-d6545bd95153a5e41cdae441643f4e4a0af94a49.zip iii-d6545bd95153a5e41cdae441643f4e4a0af94a49.tar.gz iii-d6545bd95153a5e41cdae441643f4e4a0af94a49.tar.bz2 |
introduce mimewriter classess for gsoap mime streaming
Signed-off-by: Michael Krelin <hacker@klever.net>
-rw-r--r-- | src/eyetil.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/eyetil.h b/src/eyetil.h index 8784cb4..64948d0 100644 --- a/src/eyetil.h +++ b/src/eyetil.h @@ -5,2 +5,3 @@ #include <string> +#include <fstream> #include <archive.h> @@ -8,2 +9,3 @@ #include "openssl/md5.h" +#include "soapH.h" @@ -112,2 +114,22 @@ class tarchive_t { +struct mimewrite_base { + virtual ~mimewrite_base() { } + + virtual int write(const char *buf,size_t len) = 0; + virtual void close() = 0; +}; +struct mimewrite_string : public mimewrite_base { + std::string str; + int write(const char *buf,size_t len) { str.append(buf,len); return SOAP_OK; }; + void close() { } +}; +struct mimewrite_tarfile : public mimewrite_base { + std::string fn; + std::fstream f; + integrity_digester idigest; + mimewrite_tarfile(tmpdir_t& d); + ~mimewrite_tarfile(); + int write(const char *buf,size_t len); + void close() { } +}; binary_t integrity_digest(const void *ptr,size_t size, |