diff options
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/QPDF.cc | 9 | ||||
-rw-r--r-- | libqpdf/QPDFJob.cc | 5 | ||||
-rw-r--r-- | libqpdf/QPDFObjectHandle.cc | 28 | ||||
-rw-r--r-- | libqpdf/QPDFPageObjectHelper.cc | 5 | ||||
-rw-r--r-- | libqpdf/QPDF_Stream.cc | 9 |
5 files changed, 31 insertions, 25 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index a24c17e6..a64096a2 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -135,22 +135,19 @@ QPDF::CopiedStreamDataProvider::CopiedStreamDataProvider( bool QPDF::CopiedStreamDataProvider::provideStreamData( - int objid, - int generation, + QPDFObjGen const& og, Pipeline* pipeline, bool suppress_warnings, bool will_retry) { - std::shared_ptr<ForeignStreamData> foreign_data = - this->foreign_stream_data[QPDFObjGen(objid, generation)]; + std::shared_ptr<ForeignStreamData> foreign_data = foreign_stream_data[og]; bool result = false; if (foreign_data.get()) { result = destination_qpdf.pipeForeignStreamData( foreign_data, pipeline, suppress_warnings, will_retry); QTC::TC("qpdf", "QPDF copy foreign with data", result ? 0 : 1); } else { - QPDFObjectHandle foreign_stream = - this->foreign_streams[QPDFObjGen(objid, generation)]; + auto foreign_stream = foreign_streams[og]; result = foreign_stream.pipeStreamData( pipeline, nullptr, 0, qpdf_dl_none, suppress_warnings, will_retry); QTC::TC( diff --git a/libqpdf/QPDFJob.cc b/libqpdf/QPDFJob.cc index 617d6b80..343fa348 100644 --- a/libqpdf/QPDFJob.cc +++ b/libqpdf/QPDFJob.cc @@ -49,8 +49,7 @@ namespace size_t oi_min_area, QPDFObjectHandle& image); virtual ~ImageOptimizer() = default; - virtual void - provideStreamData(int objid, int generation, Pipeline* pipeline); + virtual void provideStreamData(QPDFObjGen const&, Pipeline* pipeline); std::shared_ptr<Pipeline> makePipeline(std::string const& description, Pipeline* next); bool evaluate(std::string const& description); @@ -250,7 +249,7 @@ ImageOptimizer::evaluate(std::string const& description) } void -ImageOptimizer::provideStreamData(int, int, Pipeline* pipeline) +ImageOptimizer::provideStreamData(QPDFObjGen const&, Pipeline* pipeline) { std::shared_ptr<Pipeline> p = makePipeline("", pipeline); if (p.get() == nullptr) { diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index e883dcd0..753493ec 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -53,6 +53,24 @@ QPDFObjectHandle::StreamDataProvider::~StreamDataProvider() void QPDFObjectHandle::StreamDataProvider::provideStreamData( + QPDFObjGen const& og, Pipeline* pipeline) +{ + return provideStreamData(og.getObj(), og.getGen(), pipeline); +} + +bool +QPDFObjectHandle::StreamDataProvider::provideStreamData( + QPDFObjGen const& og, + Pipeline* pipeline, + bool suppress_warnings, + bool will_retry) +{ + return provideStreamData( + og.getObj(), og.getGen(), pipeline, suppress_warnings, will_retry); +} + +void +QPDFObjectHandle::StreamDataProvider::provideStreamData( int objid, int generation, Pipeline* pipeline) { throw std::logic_error( @@ -90,8 +108,7 @@ namespace { } virtual ~CoalesceProvider() = default; - virtual void - provideStreamData(int objid, int generation, Pipeline* pipeline); + virtual void provideStreamData(QPDFObjGen const&, Pipeline* pipeline); private: QPDFObjectHandle containing_page; @@ -100,7 +117,7 @@ namespace } // namespace void -CoalesceProvider::provideStreamData(int, int, Pipeline* p) +CoalesceProvider::provideStreamData(QPDFObjGen const&, Pipeline* p) { QTC::TC("qpdf", "QPDFObjectHandle coalesce provide stream data"); std::string description = @@ -1425,15 +1442,14 @@ namespace } virtual void - provideStreamData(int, int, Pipeline* pipeline) override + provideStreamData(QPDFObjGen const&, Pipeline* pipeline) override { p1(pipeline); } virtual bool provideStreamData( - int, - int, + QPDFObjGen const&, Pipeline* pipeline, bool suppress_warnings, bool will_retry) override diff --git a/libqpdf/QPDFPageObjectHelper.cc b/libqpdf/QPDFPageObjectHelper.cc index 16ab346f..96a8ce69 100644 --- a/libqpdf/QPDFPageObjectHelper.cc +++ b/libqpdf/QPDFPageObjectHelper.cc @@ -21,8 +21,7 @@ namespace { } virtual ~ContentProvider() = default; - virtual void - provideStreamData(int objid, int generation, Pipeline* pipeline); + virtual void provideStreamData(QPDFObjGen const&, Pipeline* pipeline); private: QPDFObjectHandle from_page; @@ -30,7 +29,7 @@ namespace } // namespace void -ContentProvider::provideStreamData(int, int, Pipeline* p) +ContentProvider::provideStreamData(QPDFObjGen const&, Pipeline* p) { Pl_Concatenate concat("concatenate", p); std::string description = diff --git a/libqpdf/QPDF_Stream.cc b/libqpdf/QPDF_Stream.cc index aed9370d..84965102 100644 --- a/libqpdf/QPDF_Stream.cc +++ b/libqpdf/QPDF_Stream.cc @@ -610,17 +610,12 @@ QPDF_Stream::pipeStreamData( Pl_Count count("stream provider count", pipeline); if (this->stream_provider->supportsRetry()) { if (!this->stream_provider->provideStreamData( - og.getObj(), - og.getGen(), - &count, - suppress_warnings, - will_retry)) { + og, &count, suppress_warnings, will_retry)) { filter = false; success = false; } } else { - this->stream_provider->provideStreamData( - og.getObj(), og.getGen(), &count); + this->stream_provider->provideStreamData(og, &count); } qpdf_offset_t actual_length = count.getCount(); qpdf_offset_t desired_length = 0; |