Mercurial > hg > orthanc
diff OrthancFramework/Sources/Compression/ZipWriter.h @ 4672:d9942d48fea7
ZipWriter::CancelStream(), ZipWriter::GetArchiveSize() and HttpOutput::AnswerWithoutBuffering()
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 02 Jun 2021 17:35:39 +0200 |
parents | b12faca76a52 |
children | 13efc0967cea |
line wrap: on
line diff
--- a/OrthancFramework/Sources/Compression/ZipWriter.h Fri May 28 18:44:00 2021 +0200 +++ b/OrthancFramework/Sources/Compression/ZipWriter.h Wed Jun 02 17:35:39 2021 +0200 @@ -65,6 +65,8 @@ virtual void Write(const std::string& chunk) = 0; virtual void Close() = 0; + + virtual uint64_t GetArchiveSize() const = 0; }; @@ -74,6 +76,7 @@ private: std::string& target_; ChunkedBuffer chunked_; + uint64_t archiveSize_; public: MemoryStream(std::string& target); @@ -81,6 +84,8 @@ virtual void Write(const std::string& chunk) ORTHANC_OVERRIDE; virtual void Close() ORTHANC_OVERRIDE; + + virtual uint64_t GetArchiveSize() const ORTHANC_OVERRIDE; }; @@ -162,9 +167,17 @@ void Write(const std::string& data); - void AcquireOutputStream(IOutputStream* stream); // transfers ownership + void AcquireOutputStream(IOutputStream* stream, // transfers ownership + bool isZip64); // The lifetime of the "target" buffer must be larger than that of ZipWriter - void SetMemoryOutput(std::string& target); + void SetMemoryOutput(std::string& target, + bool isZip64); + + void CancelStream(); + + // WARNING: "GetArchiveSize()" only has its final value after + // "Close()" has been called + uint64_t GetArchiveSize() const; }; }