From d61ffb65d034848157291b9825f4b33155bd55e7 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sat, 16 Jan 2021 18:35:30 -0500 Subject: Add new constructors for name/number tree helpers Add constructors that take a QPDF object so we can issue warnings and create new indirect objects. --- include/qpdf/QPDFNameTreeObjectHelper.hh | 12 +++++++++++- include/qpdf/QPDFNumberTreeObjectHelper.hh | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/qpdf/QPDFNameTreeObjectHelper.hh b/include/qpdf/QPDFNameTreeObjectHelper.hh index e5bb2893..b1e4e494 100644 --- a/include/qpdf/QPDFNameTreeObjectHelper.hh +++ b/include/qpdf/QPDFNameTreeObjectHelper.hh @@ -42,6 +42,16 @@ class NNTreeDetails; class QPDFNameTreeObjectHelper: public QPDFObjectHelper { public: + // The qpdf object is required so that this class can issue + // warnings, attempt repairs, and add indirect objects. + QPDF_DLL + QPDFNameTreeObjectHelper(QPDFObjectHandle, QPDF&, + bool auto_repair = true); + + // ABI: Legacy Constructor will be removed in QPDF 11. A + // QPDFNameTreeObjectHelper constructed in this way can't be + // modified or repaired and will silently ignore problems in the + // structure. QPDF_DLL QPDFNameTreeObjectHelper(QPDFObjectHandle); QPDF_DLL @@ -133,7 +143,7 @@ class QPDFNameTreeObjectHelper: public QPDFObjectHelper ~Members(); private: - Members(QPDFObjectHandle& oh); + Members(QPDFObjectHandle& oh, QPDF*, bool auto_repair); Members(Members const&) = delete; std::shared_ptr impl; diff --git a/include/qpdf/QPDFNumberTreeObjectHelper.hh b/include/qpdf/QPDFNumberTreeObjectHelper.hh index d4e93690..dcef7e8d 100644 --- a/include/qpdf/QPDFNumberTreeObjectHelper.hh +++ b/include/qpdf/QPDFNumberTreeObjectHelper.hh @@ -39,6 +39,16 @@ class NNTreeDetails; class QPDFNumberTreeObjectHelper: public QPDFObjectHelper { public: + // The qpdf object is required so that this class can issue + // warnings, attempt repairs, and add indirect objects. + QPDF_DLL + QPDFNumberTreeObjectHelper(QPDFObjectHandle, QPDF&, + bool auto_repair = true); + + // ABI: Legacy Constructor will be removed in QPDF 11. A + // QPDFNumberTreeObjectHelper constructed in this way can't be + // modified or repaired and will silently ignore problems in the + // structure. QPDF_DLL QPDFNumberTreeObjectHelper(QPDFObjectHandle); QPDF_DLL @@ -154,7 +164,7 @@ class QPDFNumberTreeObjectHelper: public QPDFObjectHelper ~Members(); private: - Members(QPDFObjectHandle& oh); + Members(QPDFObjectHandle& oh, QPDF*, bool auto_repair); Members(Members const&) = delete; std::shared_ptr impl; -- cgit v1.2.3-70-g09d2