From bd7261da9b3735688e8dcaeefe21294a1d13afd6 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Mon, 9 Aug 2010 23:33:40 +0000 Subject: getRawStreamData() git-svn-id: svn+q:///qpdf/trunk@1010 71b93d88-0707-0410-a8cf-f5a4172ac649 --- libqpdf/QPDFObjectHandle.cc | 7 +++++++ libqpdf/QPDF_Stream.cc | 10 ++++++++++ libqpdf/qpdf/QPDF_Stream.hh | 1 + 3 files changed, 18 insertions(+) (limited to 'libqpdf') diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index 143a3f42..658f4393 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -343,6 +343,13 @@ QPDFObjectHandle::getStreamData() return dynamic_cast(obj.getPointer())->getStreamData(); } +PointerHolder +QPDFObjectHandle::getRawStreamData() +{ + assertType("Stream", isStream()); + return dynamic_cast(obj.getPointer())->getRawStreamData(); +} + bool QPDFObjectHandle::pipeStreamData(Pipeline* p, bool filter, bool normalize, bool compress) diff --git a/libqpdf/QPDF_Stream.cc b/libqpdf/QPDF_Stream.cc index 87c2daa9..72be2e32 100644 --- a/libqpdf/QPDF_Stream.cc +++ b/libqpdf/QPDF_Stream.cc @@ -75,6 +75,16 @@ QPDF_Stream::getStreamData() { throw std::logic_error("getStreamData called on unfilterable stream"); } + QTC::TC("qpdf", "QPDF_Stream getStreamData"); + return buf.getBuffer(); +} + +PointerHolder +QPDF_Stream::getRawStreamData() +{ + Pl_Buffer buf("stream data buffer"); + pipeStreamData(&buf, false, false, false); + QTC::TC("qpdf", "QPDF_Stream getRawStreamData"); return buf.getBuffer(); } diff --git a/libqpdf/qpdf/QPDF_Stream.hh b/libqpdf/qpdf/QPDF_Stream.hh index 73261f39..ed70ae8f 100644 --- a/libqpdf/qpdf/QPDF_Stream.hh +++ b/libqpdf/qpdf/QPDF_Stream.hh @@ -22,6 +22,7 @@ class QPDF_Stream: public QPDFObject bool pipeStreamData(Pipeline*, bool filter, bool normalize, bool compress); PointerHolder getStreamData(); + PointerHolder getRawStreamData(); void replaceStreamData(PointerHolder data, QPDFObjectHandle const& filter, QPDFObjectHandle const& decode_parms); -- cgit v1.2.3-70-g09d2