aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDF_Stream.cc
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2022-06-16 18:45:04 +0200
committerJay Berkenbilt <jberkenbilt@users.noreply.github.com>2022-06-27 18:47:02 +0200
commitf0a8178091dfc87bbf9a6751f8fedf007e8eb144 (patch)
tree9a4b3af6d96a274016f0feecbc5deecb345c5f4f /libqpdf/QPDF_Stream.cc
parent5aa8225f493dc3c3171662fecc8a9ff5d0a16feb (diff)
downloadqpdf-f0a8178091dfc87bbf9a6751f8fedf007e8eb144.tar.zst
Refactor QPDFObject creation and cloning
Move responsibility for creating shared pointers to objects and cloning from QPDFObjectHandle to QPDFObject.
Diffstat (limited to 'libqpdf/QPDF_Stream.cc')
-rw-r--r--libqpdf/QPDF_Stream.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/libqpdf/QPDF_Stream.cc b/libqpdf/QPDF_Stream.cc
index edb4a739..c4c69659 100644
--- a/libqpdf/QPDF_Stream.cc
+++ b/libqpdf/QPDF_Stream.cc
@@ -134,6 +134,25 @@ QPDF_Stream::QPDF_Stream(
QUtil::int_to_string(this->generation));
}
+std::shared_ptr<QPDFObject>
+QPDF_Stream::create(
+ QPDF* qpdf,
+ int objid,
+ int generation,
+ QPDFObjectHandle stream_dict,
+ qpdf_offset_t offset,
+ size_t length)
+{
+ return do_create(
+ new QPDF_Stream(qpdf, objid, generation, stream_dict, offset,length));
+}
+
+std::shared_ptr<QPDFObject>
+QPDF_Stream::shallowCopy()
+{
+ throw std::logic_error("stream objects cannot be cloned");
+}
+
void
QPDF_Stream::registerStreamFilter(
std::string const& filter_name,