aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdf-c.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/qpdf-c.cc
parent8e361d98f0bb23d58cbc773367ba76dffced7bdb (diff)
downloadqpdf-3a7ee7e93847d41cae414ff77cc75fd6394751ef.tar.zst
Move C-based ProgressReporter helper into QPDFWriter
Diffstat (limited to 'libqpdf/qpdf-c.cc')
-rw-r--r--libqpdf/qpdf-c.cc30
1 files changed, 2 insertions, 28 deletions
diff --git a/libqpdf/qpdf-c.cc b/libqpdf/qpdf-c.cc
index 468811b3..bde0ac72 100644
--- a/libqpdf/qpdf-c.cc
+++ b/libqpdf/qpdf-c.cc
@@ -61,33 +61,6 @@ _qpdf_data::_qpdf_data() :
{
}
-namespace
-{
- class ProgressReporter: public QPDFWriter::ProgressReporter
- {
- public:
- ProgressReporter(void (*handler)(int, void*), void* data);
- virtual ~ProgressReporter() = default;
- virtual void reportProgress(int);
-
- private:
- void (*handler)(int, void*);
- void* data;
- };
-} // namespace
-
-ProgressReporter::ProgressReporter(void (*handler)(int, void*), void* data) :
- handler(handler),
- data(data)
-{
-}
-
-void
-ProgressReporter::reportProgress(int progress)
-{
- this->handler(progress, this->data);
-}
-
// must set qpdf->filename and qpdf->password
static void
call_read(qpdf_data qpdf)
@@ -851,7 +824,8 @@ qpdf_register_progress_reporter(
QTC::TC("qpdf", "qpdf-c registered progress reporter");
qpdf->qpdf_writer->registerProgressReporter(
std::shared_ptr<QPDFWriter::ProgressReporter>(
- new ProgressReporter(report_progress, data)));
+ new QPDFWriter::FunctionProgressReporter(
+ std::bind(report_progress, std::placeholders::_1, data))));
}
QPDF_ERROR_CODE