summaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdf
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2010-08-05 21:04:22 +0200
committerJay Berkenbilt <ejb@ql.org>2010-08-05 21:04:22 +0200
commit11df7809af7131af139be2e76f2db87128700939 (patch)
treede549eec5d64837384f60d319ce072d1455baaa8 /libqpdf/qpdf
parent98765c3b5ceecb2c2540405eab1dd7ae1f02ec31 (diff)
downloadqpdf-11df7809af7131af139be2e76f2db87128700939.tar.zst
add pipeline-based stream data replacement function
git-svn-id: svn+q:///qpdf/trunk@990 71b93d88-0707-0410-a8cf-f5a4172ac649
Diffstat (limited to 'libqpdf/qpdf')
-rw-r--r--libqpdf/qpdf/QPDF_Stream.hh13
1 files changed, 11 insertions, 2 deletions
diff --git a/libqpdf/qpdf/QPDF_Stream.hh b/libqpdf/qpdf/QPDF_Stream.hh
index 86a585c9..1790121e 100644
--- a/libqpdf/qpdf/QPDF_Stream.hh
+++ b/libqpdf/qpdf/QPDF_Stream.hh
@@ -23,10 +23,18 @@ class QPDF_Stream: public QPDFObject
bool normalize, bool compress);
PointerHolder<Buffer> getStreamData();
void replaceStreamData(PointerHolder<Buffer> data,
- QPDFObjectHandle filter,
- QPDFObjectHandle decode_parms);
+ QPDFObjectHandle const& filter,
+ QPDFObjectHandle const& decode_parms);
+ void replaceStreamData(
+ PointerHolder<QPDFObjectHandle::StreamDataProvider> provider,
+ QPDFObjectHandle const& filter,
+ QPDFObjectHandle const& decode_parms,
+ size_t length);
private:
+ void replaceFilterData(QPDFObjectHandle const& filter,
+ QPDFObjectHandle const& decode_parms,
+ size_t length);
bool filterable(std::vector<std::string>& filters,
int& predictor, int& columns, bool& early_code_change);
@@ -37,6 +45,7 @@ class QPDF_Stream: public QPDFObject
off_t offset;
int length;
PointerHolder<Buffer> stream_data;
+ PointerHolder<QPDFObjectHandle::StreamDataProvider> stream_provider;
};
#endif // __QPDF_STREAM_HH__