aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDF_Stream.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2010-08-03 00:17:01 +0200
committerJay Berkenbilt <ejb@ql.org>2010-08-03 00:17:01 +0200
commit9a06fc541ce00361f12f6231b2f7556615cbccb7 (patch)
tree858037640e94c3081e829e21c980b556de744ea5 /libqpdf/QPDF_Stream.cc
parentab5a01c64ec3c8cb4f13b6846ca4ecdc7b888e14 (diff)
downloadqpdf-9a06fc541ce00361f12f6231b2f7556615cbccb7.tar.zst
ready to implement replacement stream data
git-svn-id: svn+q:///qpdf/trunk@987 71b93d88-0707-0410-a8cf-f5a4172ac649
Diffstat (limited to 'libqpdf/QPDF_Stream.cc')
-rw-r--r--libqpdf/QPDF_Stream.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/libqpdf/QPDF_Stream.cc b/libqpdf/QPDF_Stream.cc
index d0dd2e5f..500dfb10 100644
--- a/libqpdf/QPDF_Stream.cc
+++ b/libqpdf/QPDF_Stream.cc
@@ -319,9 +319,30 @@ QPDF_Stream::pipeStreamData(Pipeline* pipeline, bool filter,
}
}
+ // XXX handle stream_data and stream_data_handler
QPDF::Pipe::pipeStreamData(this->qpdf, this->objid, this->generation,
this->offset, this->length,
this->stream_dict, pipeline);
return filter;
}
+
+void
+QPDF_Stream::replaceStreamData(PointerHolder<Buffer> data,
+ QPDFObjectHandle filter,
+ QPDFObjectHandle decode_parms)
+{
+ this->stream_data = data;
+ this->stream_dict.replaceOrRemoveKey("/Filter", filter);
+ this->stream_dict.replaceOrRemoveKey("/DecodeParms", decode_parms);
+ this->stream_dict.replaceKey("/Length",
+ QPDFObjectHandle::newInteger(
+ data.getPointer()->getSize()));
+}
+
+void
+QPDF_Stream::replaceStreamData(
+ PointerHolder<QPDFObjectHandle::StreamDataHandler> dh)
+{
+ this->stream_data_handler = dh;
+}