From 2d36aedf89e23df97fb56feee24f176f5c4e768c Mon Sep 17 00:00:00 2001 From: m-holger Date: Wed, 17 Sep 2025 11:09:02 +0100 Subject: [PATCH] Refactor `QPDFJob`: mark `ProgressReporter` methods as `final`, inline constructors for `Members` and `ProgressReporter` --- libqpdf/QPDFJob.cc | 23 ++++++++--------------- libqpdf/qpdf/QPDFJob_private.hh | 9 ++++++--- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/libqpdf/QPDFJob.cc b/libqpdf/QPDFJob.cc index c06a6ba..3751a7c 100644 --- a/libqpdf/QPDFJob.cc +++ b/libqpdf/QPDFJob.cc @@ -69,7 +69,7 @@ namespace std::vector selected_pages; }; - class ProgressReporter: public QPDFWriter::ProgressReporter + class ProgressReporter final: public QPDFWriter::ProgressReporter { public: ProgressReporter(Pipeline& p, std::string const& prefix, char const* filename) : @@ -78,8 +78,12 @@ namespace filename(filename) { } - ~ProgressReporter() override = default; - void reportProgress(int) override; + ~ProgressReporter() final = default; + void + reportProgress(int percentage) final + { + p << prefix << ": " << filename << ": write progress: " << percentage << "%\n"; + } private: Pipeline& p; @@ -267,19 +271,8 @@ QPDFPageData::QPDFPageData(QPDFPageData const& other, int page) : selected_pages.push_back(page); } -void -ProgressReporter::reportProgress(int percentage) -{ - p << prefix << ": " << filename << ": write progress: " << percentage << "%\n"; -} - -QPDFJob::Members::Members() : - log(QPDFLogger::defaultLogger()) -{ -} - QPDFJob::QPDFJob() : - m(new Members()) + m(std::make_shared()) { } diff --git a/libqpdf/qpdf/QPDFJob_private.hh b/libqpdf/qpdf/QPDFJob_private.hh index 821cb21..64b2eac 100644 --- a/libqpdf/qpdf/QPDFJob_private.hh +++ b/libqpdf/qpdf/QPDFJob_private.hh @@ -4,6 +4,7 @@ #include #include +#include struct QPDFJob::RotationSpec { @@ -60,6 +61,11 @@ class QPDFJob::Members friend class QPDFJob; public: + Members() : + log(QPDFLogger::defaultLogger()) + { + } + Members(Members const&) = delete; ~Members() = default; private: @@ -70,9 +76,6 @@ class QPDFJob::Members static int constexpr DEFAULT_OI_MIN_AREA = 16384; static int constexpr DEFAULT_II_MIN_BYTES = 1024; - Members(); - Members(Members const&) = delete; - std::shared_ptr log; std::string message_prefix{"qpdf"}; bool warnings{false}; -- libgit2 0.21.4