diff options
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/qpdf-c.cc | 13 | ||||
-rw-r--r-- | libqpdf/qpdf/qpdflogger-c_impl.hh | 11 | ||||
-rw-r--r-- | libqpdf/qpdfjob-c.cc | 13 | ||||
-rw-r--r-- | libqpdf/qpdflogger-c.cc | 22 |
4 files changed, 51 insertions, 8 deletions
diff --git a/libqpdf/qpdf-c.cc b/libqpdf/qpdf-c.cc index a8ae8102..b183c8fb 100644 --- a/libqpdf/qpdf-c.cc +++ b/libqpdf/qpdf-c.cc @@ -12,6 +12,7 @@ #include <qpdf/QPDFWriter.hh> #include <qpdf/QTC.hh> #include <qpdf/QUtil.hh> +#include <qpdf/qpdflogger-c_impl.hh> #include <cstring> #include <functional> @@ -280,6 +281,18 @@ qpdf_check_pdf(qpdf_data qpdf) } void +qpdf_set_logger(qpdf_data qpdf, qpdflogger_handle logger) +{ + qpdf->qpdf->setLogger(logger->l); +} + +qpdflogger_handle +qpdf_get_logger(qpdf_data qpdf) +{ + return new _qpdflogger_handle(qpdf->qpdf->getLogger()); +} + +void qpdf_set_suppress_warnings(qpdf_data qpdf, QPDF_BOOL value) { QTC::TC("qpdf", "qpdf-c called qpdf_set_suppress_warnings"); diff --git a/libqpdf/qpdf/qpdflogger-c_impl.hh b/libqpdf/qpdf/qpdflogger-c_impl.hh new file mode 100644 index 00000000..d9787a2d --- /dev/null +++ b/libqpdf/qpdf/qpdflogger-c_impl.hh @@ -0,0 +1,11 @@ +#include <qpdf/qpdflogger-c.h> + +#include <qpdf/QPDFLogger.hh> + +struct _qpdflogger_handle +{ + _qpdflogger_handle(std::shared_ptr<QPDFLogger> l); + ~_qpdflogger_handle() = default; + + std::shared_ptr<QPDFLogger> l; +}; diff --git a/libqpdf/qpdfjob-c.cc b/libqpdf/qpdfjob-c.cc index 9367547c..889afec6 100644 --- a/libqpdf/qpdfjob-c.cc +++ b/libqpdf/qpdfjob-c.cc @@ -4,6 +4,7 @@ #include <qpdf/QPDFLogger.hh> #include <qpdf/QPDFUsage.hh> #include <qpdf/QUtil.hh> +#include <qpdf/qpdflogger-c_impl.hh> #include <cstdio> #include <cstring> @@ -41,6 +42,18 @@ wrap_qpdfjob(qpdfjob_handle j, std::function<int(qpdfjob_handle j)> fn) return QPDFJob::EXIT_ERROR; } +void +qpdfjob_set_logger(qpdfjob_handle j, qpdflogger_handle logger) +{ + j->j.setLogger(logger->l); +} + +qpdflogger_handle +qpdfjob_get_logger(qpdfjob_handle j) +{ + return new _qpdflogger_handle(j->j.getLogger()); +} + int qpdfjob_initialize_from_argv(qpdfjob_handle j, char const* const argv[]) { diff --git a/libqpdf/qpdflogger-c.cc b/libqpdf/qpdflogger-c.cc index 290b2667..2a6d1052 100644 --- a/libqpdf/qpdflogger-c.cc +++ b/libqpdf/qpdflogger-c.cc @@ -1,5 +1,7 @@ #include <qpdf/qpdflogger-c.h> +#include <qpdf/qpdflogger-c_impl.hh> + #include <qpdf/Pipeline.hh> #include <qpdf/Pl_Function.hh> #include <qpdf/QIntC.hh> @@ -7,14 +9,6 @@ #include <functional> #include <memory> -struct _qpdflogger_handle -{ - _qpdflogger_handle(std::shared_ptr<QPDFLogger> l); - ~_qpdflogger_handle() = default; - - std::shared_ptr<QPDFLogger> l; -}; - _qpdflogger_handle::_qpdflogger_handle(std::shared_ptr<QPDFLogger> l) : l(l) { @@ -26,6 +20,12 @@ qpdflogger_default_logger() return new _qpdflogger_handle(QPDFLogger::defaultLogger()); } +qpdflogger_handle +qpdflogger_create() +{ + return new _qpdflogger_handle(QPDFLogger::create()); +} + void qpdflogger_cleanup(qpdflogger_handle* l) { @@ -125,3 +125,9 @@ qpdflogger_save_to_standard_output(qpdflogger_handle l, int only_if_not_set) qpdflogger_set_save( l, qpdf_log_dest_stdout, nullptr, nullptr, only_if_not_set); } + +int +qpdflogger_equal(qpdflogger_handle l1, qpdflogger_handle l2) +{ + return l1->l.get() == l2->l.get(); +} |