19#ifndef INCLUDED_PACKAGE_INC_ZIPOUTPUTENTRY_HXX
20#define INCLUDED_PACKAGE_INC_ZIPOUTPUTENTRY_HXX
22#include <com/sun/star/io/XOutputStream.hpp>
23#include <com/sun/star/io/XTempFile.hpp>
24#include <com/sun/star/uno/Reference.hxx>
25#include <com/sun/star/uno/XComponentContext.hpp>
26#include <com/sun/star/xml/crypto/XCipherContext.hpp>
27#include <com/sun/star/xml/crypto/XDigestContext.hpp>
43 css::uno::Reference< css::uno::XComponentContext >
m_xContext;
58 virtual void writeStream(
const css::uno::Reference< css::io::XInputStream >& xInStream) = 0;
68 css::uno::Reference< css::io::XOutputStream > xOutStream,
69 css::uno::Reference< css::uno::XComponentContext > xContext,
73 void processDeflated(
const css::uno::Sequence< sal_Int8 >& deflateBuffer, sal_Int32 nLength );
75 void processInput(
const css::uno::Sequence< sal_Int8 >& rBuffer );
92 const css::uno::Reference< css::io::XOutputStream >& rxOutStream,
93 const css::uno::Reference< css::uno::XComponentContext >& rxContext,
95 void writeStream(
const css::uno::Reference< css::io::XInputStream >& xInStream)
override;
96 void write(
const css::uno::Sequence< sal_Int8 >& rBuffer);
100 const css::uno::Reference< css::io::XOutputStream >& rxOutStream,
101 const css::uno::Reference< css::uno::XComponentContext >& rxContext,
121 const css::uno::Reference< css::uno::XComponentContext >& rxContext,
123 std::unique_ptr<comphelper::ThreadTask>
createTask(
124 const std::shared_ptr<comphelper::ThreadTaskTag>& pTag,
125 const css::uno::Reference< css::io::XInputStream >& xInStream );
130 css::uno::Reference< css::io::XInputStream >
getData()
const;
147 const css::uno::Reference< css::io::XOutputStream >& rxOutStream,
148 const css::uno::Reference< css::uno::XComponentContext >& rxContext,
150 void writeStream(
const css::uno::Reference< css::io::XInputStream >& xInStream)
override;
css::uno::Reference< css::io::XOutputStream > m_xOutStream
virtual ~ZipOutputEntryBase()=default
virtual sal_Int64 getDeflaterTotalIn() const =0
void processInput(const css::uno::Sequence< sal_Int8 > &rBuffer)
ZipEntry * m_pCurrentEntry
css::uno::Reference< css::uno::XComponentContext > m_xContext
ZipPackageStream * m_pCurrentStream
ZipPackageStream * getZipPackageStream()
css::uno::Reference< css::xml::crypto::XDigestContext > m_xDigestContext
css::uno::Reference< css::xml::crypto::XCipherContext > m_xCipherContext
void processDeflated(const css::uno::Sequence< sal_Int8 > &deflateBuffer, sal_Int32 nLength)
virtual void finishDeflater()=0
virtual bool isDeflaterFinished() const =0
virtual sal_Int64 getDeflaterTotalOut() const =0
virtual void deflaterReset()=0
virtual void writeStream(const css::uno::Reference< css::io::XInputStream > &xInStream)=0
ZipOutputEntryBase(css::uno::Reference< css::io::XOutputStream > xOutStream, css::uno::Reference< css::uno::XComponentContext > xContext, ZipEntry &rEntry, ZipPackageStream *pStream, bool bEncrypt, bool checkStream)
This class is used to deflate Zip entries.
bool m_bEncryptCurrentEntry
std::unique_ptr< comphelper::ThreadTask > createTask(const std::shared_ptr< comphelper::ThreadTaskTag > &pTag, const css::uno::Reference< css::io::XInputStream > &xInStream)
ZipOutputEntryInThread(const css::uno::Reference< css::uno::XComponentContext > &rxContext, ZipEntry &rEntry, ZipPackageStream *pStream, bool bEncrypt)
const std::exception_ptr & getParallelDeflateException() const
rtl::Reference< utl::TempFileFastService > m_xTempFile
css::uno::Reference< css::io::XInputStream > getData() const
std::atomic< bool > m_bFinished
void setParallelDeflateException(const std::exception_ptr &exception)
std::exception_ptr m_aParallelDeflateException
virtual void finishDeflater() override
virtual void deflaterReset() override
ZipOutputEntryParallel(const css::uno::Reference< css::io::XOutputStream > &rxOutStream, const css::uno::Reference< css::uno::XComponentContext > &rxContext, ZipEntry &rEntry, ZipPackageStream *pStream, bool bEncrypt)
virtual bool isDeflaterFinished() const override
void writeStream(const css::uno::Reference< css::io::XInputStream > &xInStream) override
virtual sal_Int64 getDeflaterTotalIn() const override
virtual sal_Int64 getDeflaterTotalOut() const override
ZipOutputEntry(const css::uno::Reference< css::io::XOutputStream > &rxOutStream, const css::uno::Reference< css::uno::XComponentContext > &rxContext, ZipEntry &rEntry, ZipPackageStream *pStream, bool bEncrypt)
virtual sal_Int64 getDeflaterTotalIn() const override
virtual void finishDeflater() override
virtual bool isDeflaterFinished() const override
virtual void deflaterReset() override
ZipUtils::Deflater m_aDeflater
void writeStream(const css::uno::Reference< css::io::XInputStream > &xInStream) override
ZipOutputEntry(const css::uno::Reference< css::io::XOutputStream > &rxOutStream, const css::uno::Reference< css::uno::XComponentContext > &rxContext, ZipEntry &rEntry, ZipPackageStream *pStream, bool bEncrypt, bool checkStream)
void write(const css::uno::Sequence< sal_Int8 > &rBuffer)
virtual sal_Int64 getDeflaterTotalOut() const override
css::uno::Sequence< sal_Int8 > m_aDeflateBuffer