aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFWriter.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-06-18 20:56:58 +0200
committerJay Berkenbilt <ejb@ql.org>2022-06-19 14:46:58 +0200
commit3a7ee7e93847d41cae414ff77cc75fd6394751ef (patch)
tree4d28778c0b1fe2c9f8feaad5adaab4b1ff29693a /libqpdf/QPDFWriter.cc
parent8e361d98f0bb23d58cbc773367ba76dffced7bdb (diff)
downloadqpdf-3a7ee7e93847d41cae414ff77cc75fd6394751ef.tar.zst
Move C-based ProgressReporter helper into QPDFWriter
Diffstat (limited to 'libqpdf/QPDFWriter.cc')
-rw-r--r--libqpdf/QPDFWriter.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc
index b1bb4ad7..d160ff99 100644
--- a/libqpdf/QPDFWriter.cc
+++ b/libqpdf/QPDFWriter.cc
@@ -25,6 +25,30 @@
#include <algorithm>
#include <stdlib.h>
+QPDFWriter::ProgressReporter::~ProgressReporter()
+{
+ // Must be explicit and not inline -- see QPDF_DLL_CLASS in
+ // README-maintainer
+}
+
+QPDFWriter::FunctionProgressReporter::FunctionProgressReporter(
+ std::function<void(int)> handler) :
+ handler(handler)
+{
+}
+
+QPDFWriter::FunctionProgressReporter::~FunctionProgressReporter()
+{
+ // Must be explicit and not inline -- see QPDF_DLL_CLASS in
+ // README-maintainer
+}
+
+void
+QPDFWriter::FunctionProgressReporter::reportProgress(int progress)
+{
+ this->handler(progress);
+}
+
QPDFWriter::Members::Members(QPDF& pdf) :
pdf(pdf),
filename("unspecified"),