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) (unidiff) | |
tree | 51e1ae7f4a3cba4de21e9c62b28c55d414064566 /src/eyetil.cc | |
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.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/eyetil.cc b/src/eyetil.cc index 6ccc4ae..fba8724 100644 --- a/src/eyetil.cc +++ b/src/eyetil.cc | |||
@@ -182,12 +182,22 @@ bool tarchive_t::read_data_into_fd(int fd) { | |||
182 | assert(a); | 182 | assert(a); |
183 | return archive_read_data_into_fd(a,fd)==ARCHIVE_OK; | 183 | return archive_read_data_into_fd(a,fd)==ARCHIVE_OK; |
184 | } | 184 | } |
185 | 185 | ||
186 | 186 | ||
187 | binary_t integrity_digest(const void *ptr,size_t size,const std::string& ukey) { | 187 | binary_t integrity_digest(const void *ptr,size_t size,const std::string& ukey) { |
188 | md5_digester rv; | 188 | md5_digester rv; |
189 | std::transform( (block512_t*)ptr, ((block512_t*)ptr)+size/sizeof(block512_t), | 189 | std::transform( (block512_t*)ptr, ((block512_t*)ptr)+size/sizeof(block512_t), |
190 | rv.updater<uint16_t>(), block512_t::tcpcksum ); | 190 | rv.updater<uint16_t>(), block512_t::tcpcksum ); |
191 | rv.update( binary_t(ukey) ); | 191 | rv.update( binary_t(ukey) ); |
192 | return rv.final(); | 192 | return rv.final(); |
193 | } | 193 | } |
194 | |||
195 | mimewrite_tarfile::mimewrite_tarfile(tmpdir_t& d) { | ||
196 | f.open((fn=d.get_file("the-tarfile.tar")).c_str(),std::ios_base::in|std::ios_base::out|std::ios_base::trunc|std::ios_base::binary); | ||
197 | } | ||
198 | mimewrite_tarfile::~mimewrite_tarfile() { | ||
199 | unlink(fn.c_str()); | ||
200 | } | ||
201 | int mimewrite_tarfile::write(const char *buf,size_t len) { | ||
202 | return f.write(buf,len) ? (idigest.update(buf,len),SOAP_OK) : SOAP_ERR; | ||
203 | } | ||