aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdflogger-c.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-09-09 14:03:21 +0200
committerJay Berkenbilt <ejb@ql.org>2022-09-09 16:49:25 +0200
commit3dbab589e32d3ed5bd98e0634255ba7dfab4c892 (patch)
tree132391fe89db1b2fbf50929721e0eb8bb167e47d /libqpdf/qpdflogger-c.cc
parent0ad4e190ffbb85ea2db5a05d43cd4f81d98cfe63 (diff)
downloadqpdf-3dbab589e32d3ed5bd98e0634255ba7dfab4c892.tar.zst
Add C API functions for using custom loggers
Expose functions to the C API to create new loggers and to setLogger and getLogger for QPDF and QPDFJob.
Diffstat (limited to 'libqpdf/qpdflogger-c.cc')
-rw-r--r--libqpdf/qpdflogger-c.cc22
1 files changed, 14 insertions, 8 deletions
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();
+}