aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2022-07-24 15:16:37 +0200
committerm-holger <m-holger@kubitscheck.org>2022-07-24 17:02:35 +0200
commitafd35f9a30e35011e82fef45b65cfae702a006a4 (patch)
tree0b06071beb79d85d034e83691f9c287deba371fc /libqpdf
parent5d0469f1bcbe1c4d008e71bc690273198805a405 (diff)
downloadqpdf-afd35f9a30e35011e82fef45b65cfae702a006a4.tar.zst
Overload StreamDataProvider::provideStreamData
Use 'QPDFObjGen const&' instead of 'int, int' in signature.
Diffstat (limited to 'libqpdf')
-rw-r--r--libqpdf/QPDF.cc9
-rw-r--r--libqpdf/QPDFJob.cc5
-rw-r--r--libqpdf/QPDFObjectHandle.cc28
-rw-r--r--libqpdf/QPDFPageObjectHelper.cc5
-rw-r--r--libqpdf/QPDF_Stream.cc9
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;