diff options
author | m-holger <m-holger@kubitscheck.org> | 2022-12-21 14:14:05 +0100 |
---|---|---|
committer | Jay Berkenbilt <jberkenbilt@users.noreply.github.com> | 2022-12-31 15:31:07 +0100 |
commit | 6cbc55a5b5ac4a1c44906ed9dd9ad5c50cd93ea1 (patch) | |
tree | a25947aaeaa00011c954354f58e5495f0fb7e5a9 /libqpdf/qpdf | |
parent | b0457b37e2af4d782f38532f41d50418236e6780 (diff) | |
download | qpdf-6cbc55a5b5ac4a1c44906ed9dd9ad5c50cd93ea1.tar.zst |
Add new virtual method QPDFObject::getStringValue
Avoid dynamic casting.
Diffstat (limited to 'libqpdf/qpdf')
-rw-r--r-- | libqpdf/qpdf/QPDFObject_private.hh | 6 | ||||
-rw-r--r-- | libqpdf/qpdf/QPDFValue.hh | 5 | ||||
-rw-r--r-- | libqpdf/qpdf/QPDF_InlineImage.hh | 6 | ||||
-rw-r--r-- | libqpdf/qpdf/QPDF_Name.hh | 6 | ||||
-rw-r--r-- | libqpdf/qpdf/QPDF_Operator.hh | 6 | ||||
-rw-r--r-- | libqpdf/qpdf/QPDF_Real.hh | 6 | ||||
-rw-r--r-- | libqpdf/qpdf/QPDF_String.hh | 6 |
7 files changed, 35 insertions, 6 deletions
diff --git a/libqpdf/qpdf/QPDFObject_private.hh b/libqpdf/qpdf/QPDFObject_private.hh index 6ca81286..447743fc 100644 --- a/libqpdf/qpdf/QPDFObject_private.hh +++ b/libqpdf/qpdf/QPDFObject_private.hh @@ -38,7 +38,11 @@ class QPDFObject { return value->getJSON(json_version); } - + std::string + getStringValue() const + { + return value->getStringValue(); + } // Return a unique type code for the object qpdf_object_type_e getTypeCode() const diff --git a/libqpdf/qpdf/QPDFValue.hh b/libqpdf/qpdf/QPDFValue.hh index 690b3b39..da80e37f 100644 --- a/libqpdf/qpdf/QPDFValue.hh +++ b/libqpdf/qpdf/QPDFValue.hh @@ -67,6 +67,11 @@ class QPDFValue disconnect() { } + virtual std::string + getStringValue() const + { + return ""; + } protected: QPDFValue() = default; diff --git a/libqpdf/qpdf/QPDF_InlineImage.hh b/libqpdf/qpdf/QPDF_InlineImage.hh index d6d62efd..553d1d71 100644 --- a/libqpdf/qpdf/QPDF_InlineImage.hh +++ b/libqpdf/qpdf/QPDF_InlineImage.hh @@ -11,7 +11,11 @@ class QPDF_InlineImage: public QPDFValue virtual std::shared_ptr<QPDFObject> copy(bool shallow = false); virtual std::string unparse(); virtual JSON getJSON(int json_version); - std::string getVal() const; + virtual std::string + getStringValue() const + { + return val; + } private: QPDF_InlineImage(std::string const& val); diff --git a/libqpdf/qpdf/QPDF_Name.hh b/libqpdf/qpdf/QPDF_Name.hh index 833ac822..136ad5cb 100644 --- a/libqpdf/qpdf/QPDF_Name.hh +++ b/libqpdf/qpdf/QPDF_Name.hh @@ -11,10 +11,14 @@ class QPDF_Name: public QPDFValue virtual std::shared_ptr<QPDFObject> copy(bool shallow = false); virtual std::string unparse(); virtual JSON getJSON(int json_version); - std::string getName() const; // Put # into strings with characters unsuitable for name token static std::string normalizeName(std::string const& name); + virtual std::string + getStringValue() const + { + return name; + } private: QPDF_Name(std::string const& name); diff --git a/libqpdf/qpdf/QPDF_Operator.hh b/libqpdf/qpdf/QPDF_Operator.hh index f420b793..4fedb808 100644 --- a/libqpdf/qpdf/QPDF_Operator.hh +++ b/libqpdf/qpdf/QPDF_Operator.hh @@ -11,7 +11,11 @@ class QPDF_Operator: public QPDFValue virtual std::shared_ptr<QPDFObject> copy(bool shallow = false); virtual std::string unparse(); virtual JSON getJSON(int json_version); - std::string getVal() const; + virtual std::string + getStringValue() const + { + return val; + } private: QPDF_Operator(std::string const& val); diff --git a/libqpdf/qpdf/QPDF_Real.hh b/libqpdf/qpdf/QPDF_Real.hh index cb3c1846..f470e1a6 100644 --- a/libqpdf/qpdf/QPDF_Real.hh +++ b/libqpdf/qpdf/QPDF_Real.hh @@ -13,7 +13,11 @@ class QPDF_Real: public QPDFValue virtual std::shared_ptr<QPDFObject> copy(bool shallow = false); virtual std::string unparse(); virtual JSON getJSON(int json_version); - std::string getVal(); + virtual std::string + getStringValue() const + { + return val; + } private: QPDF_Real(std::string const& val); diff --git a/libqpdf/qpdf/QPDF_String.hh b/libqpdf/qpdf/QPDF_String.hh index d349439a..32a05a6c 100644 --- a/libqpdf/qpdf/QPDF_String.hh +++ b/libqpdf/qpdf/QPDF_String.hh @@ -18,8 +18,12 @@ class QPDF_String: public QPDFValue virtual std::string unparse(); std::string unparse(bool force_binary); virtual JSON getJSON(int json_version); - std::string getVal() const; std::string getUTF8Val() const; + virtual std::string + getStringValue() const + { + return val; + } private: QPDF_String(std::string const& val); |