diff options
author | Jay Berkenbilt <ejb@ql.org> | 2021-01-17 00:35:04 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2021-01-17 00:41:53 +0100 |
commit | 6226b69dbaf4e31942f6b2c9bdacf7ac92432764 (patch) | |
tree | 5f150d16b1369e823e590db6bbd01aa0f9cce8ab | |
parent | fc88837d4b04c8b766c973206303c3d3af334b92 (diff) | |
download | qpdf-6226b69dbaf4e31942f6b2c9bdacf7ac92432764.tar.zst |
Add warn() to QPDF's public API
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | include/qpdf/QPDF.hh | 20 | ||||
-rw-r--r-- | libqpdf/QPDFObjectHandle.cc | 2 | ||||
-rw-r--r-- | libqpdf/QPDF_Stream.cc | 2 | ||||
-rw-r--r-- | manual/qpdf-manual.xml | 20 |
5 files changed, 32 insertions, 16 deletions
@@ -1,3 +1,7 @@ +2021-01-16 Jay Berkenbilt <ejb@ql.org> + + * Add warn() to QPDF's public API. + 2021-01-11 Jay Berkenbilt <ejb@ql.org> * Fix very old error in code that was finding attachment streams. diff --git a/include/qpdf/QPDF.hh b/include/qpdf/QPDF.hh index 7dcfccc5..4e0984a7 100644 --- a/include/qpdf/QPDF.hh +++ b/include/qpdf/QPDF.hh @@ -246,6 +246,12 @@ class QPDF QPDF_DLL unsigned long long getUniqueId() const; + // Issue a warning on behalf of this QPDF object. It will be + // emitted with other warnings, following warning suppression + // rules, and it will be available with getWarnings(). + QPDF_DLL + void warn(QPDFExc const& e); + QPDF_DLL std::string getFilename() const; QPDF_DLL @@ -694,19 +700,6 @@ class QPDF }; friend class Resolver; - // Warner class allows QPDFObjectHandle to create warnings - class Warner - { - friend class QPDFObjectHandle; - friend class QPDF_Stream; - private: - static void warn(QPDF* qpdf, QPDFExc const& e) - { - qpdf->warn(e); - } - }; - friend class Warner; - // ParseGuard class allows QPDFObjectHandle to detect re-entrant // resolution class ParseGuard @@ -895,7 +888,6 @@ class QPDF void parse(char const* password); void inParse(bool); - void warn(QPDFExc const& e); void setTrailer(QPDFObjectHandle obj); void read_xref(qpdf_offset_t offset); void reconstruct_xref(QPDFExc& e); diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index 60419720..de2221a4 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -3016,7 +3016,7 @@ QPDFObjectHandle::warn(QPDF* qpdf, QPDFExc const& e) // string, then just throw the exception. if (qpdf) { - QPDF::Warner::warn(qpdf, e); + qpdf->warn(e); } else { diff --git a/libqpdf/QPDF_Stream.cc b/libqpdf/QPDF_Stream.cc index 05cde8d8..b05137df 100644 --- a/libqpdf/QPDF_Stream.cc +++ b/libqpdf/QPDF_Stream.cc @@ -679,5 +679,5 @@ QPDF_Stream::replaceDict(QPDFObjectHandle new_dict) void QPDF_Stream::warn(QPDFExc const& e) { - QPDF::Warner::warn(this->qpdf, e); + this->qpdf->warn(e); } diff --git a/manual/qpdf-manual.xml b/manual/qpdf-manual.xml index d2c06a46..e770c3c4 100644 --- a/manual/qpdf-manual.xml +++ b/manual/qpdf-manual.xml @@ -4819,6 +4819,26 @@ print "\n"; </varlistentry> --> <varlistentry> + <term>10.2.0: Month dd, YYYY</term> + <listitem> + <itemizedlist> + <listitem> + <para> + Library Enhancements + </para> + <itemizedlist> + <listitem> + <para> + Add <function>warn</function> to + <classname>QPDF</classname>'s public API. + </para> + </listitem> + </itemizedlist> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry> <term>10.1.0: January 5, 2021</term> <listitem> <itemizedlist> |