Commit 2d36aedf89e23df97fb56feee24f176f5c4e768c

Authored by m-holger
1 parent 4c61ba56

Refactor `QPDFJob`: mark `ProgressReporter` methods as `final`, inline construct…

…ors for `Members` and `ProgressReporter`
libqpdf/QPDFJob.cc
@@ -69,7 +69,7 @@ namespace @@ -69,7 +69,7 @@ namespace
69 std::vector<int> selected_pages; 69 std::vector<int> selected_pages;
70 }; 70 };
71 71
72 - class ProgressReporter: public QPDFWriter::ProgressReporter 72 + class ProgressReporter final: public QPDFWriter::ProgressReporter
73 { 73 {
74 public: 74 public:
75 ProgressReporter(Pipeline& p, std::string const& prefix, char const* filename) : 75 ProgressReporter(Pipeline& p, std::string const& prefix, char const* filename) :
@@ -78,8 +78,12 @@ namespace @@ -78,8 +78,12 @@ namespace
78 filename(filename) 78 filename(filename)
79 { 79 {
80 } 80 }
81 - ~ProgressReporter() override = default;  
82 - void reportProgress(int) override; 81 + ~ProgressReporter() final = default;
  82 + void
  83 + reportProgress(int percentage) final
  84 + {
  85 + p << prefix << ": " << filename << ": write progress: " << percentage << "%\n";
  86 + }
83 87
84 private: 88 private:
85 Pipeline& p; 89 Pipeline& p;
@@ -267,19 +271,8 @@ QPDFPageData::QPDFPageData(QPDFPageData const&amp; other, int page) : @@ -267,19 +271,8 @@ QPDFPageData::QPDFPageData(QPDFPageData const&amp; other, int page) :
267 selected_pages.push_back(page); 271 selected_pages.push_back(page);
268 } 272 }
269 273
270 -void  
271 -ProgressReporter::reportProgress(int percentage)  
272 -{  
273 - p << prefix << ": " << filename << ": write progress: " << percentage << "%\n";  
274 -}  
275 -  
276 -QPDFJob::Members::Members() :  
277 - log(QPDFLogger::defaultLogger())  
278 -{  
279 -}  
280 -  
281 QPDFJob::QPDFJob() : 274 QPDFJob::QPDFJob() :
282 - m(new Members()) 275 + m(std::make_shared<Members>())
283 { 276 {
284 } 277 }
285 278
libqpdf/qpdf/QPDFJob_private.hh
@@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
4 #include <qpdf/QPDFJob.hh> 4 #include <qpdf/QPDFJob.hh>
5 5
6 #include <qpdf/ClosedFileInputSource.hh> 6 #include <qpdf/ClosedFileInputSource.hh>
  7 +#include <qpdf/QPDFLogger.hh>
7 8
8 struct QPDFJob::RotationSpec 9 struct QPDFJob::RotationSpec
9 { 10 {
@@ -60,6 +61,11 @@ class QPDFJob::Members @@ -60,6 +61,11 @@ class QPDFJob::Members
60 friend class QPDFJob; 61 friend class QPDFJob;
61 62
62 public: 63 public:
  64 + Members() :
  65 + log(QPDFLogger::defaultLogger())
  66 + {
  67 + }
  68 + Members(Members const&) = delete;
63 ~Members() = default; 69 ~Members() = default;
64 70
65 private: 71 private:
@@ -70,9 +76,6 @@ class QPDFJob::Members @@ -70,9 +76,6 @@ class QPDFJob::Members
70 static int constexpr DEFAULT_OI_MIN_AREA = 16384; 76 static int constexpr DEFAULT_OI_MIN_AREA = 16384;
71 static int constexpr DEFAULT_II_MIN_BYTES = 1024; 77 static int constexpr DEFAULT_II_MIN_BYTES = 1024;
72 78
73 - Members();  
74 - Members(Members const&) = delete;  
75 -  
76 std::shared_ptr<QPDFLogger> log; 79 std::shared_ptr<QPDFLogger> log;
77 std::string message_prefix{"qpdf"}; 80 std::string message_prefix{"qpdf"};
78 bool warnings{false}; 81 bool warnings{false};