aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdf
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2022-12-21 14:14:05 +0100
committerJay Berkenbilt <jberkenbilt@users.noreply.github.com>2022-12-31 15:31:07 +0100
commit6cbc55a5b5ac4a1c44906ed9dd9ad5c50cd93ea1 (patch)
treea25947aaeaa00011c954354f58e5495f0fb7e5a9 /libqpdf/qpdf
parentb0457b37e2af4d782f38532f41d50418236e6780 (diff)
downloadqpdf-6cbc55a5b5ac4a1c44906ed9dd9ad5c50cd93ea1.tar.zst
Add new virtual method QPDFObject::getStringValue
Avoid dynamic casting.
Diffstat (limited to 'libqpdf/qpdf')
-rw-r--r--libqpdf/qpdf/QPDFObject_private.hh6
-rw-r--r--libqpdf/qpdf/QPDFValue.hh5
-rw-r--r--libqpdf/qpdf/QPDF_InlineImage.hh6
-rw-r--r--libqpdf/qpdf/QPDF_Name.hh6
-rw-r--r--libqpdf/qpdf/QPDF_Operator.hh6
-rw-r--r--libqpdf/qpdf/QPDF_Real.hh6
-rw-r--r--libqpdf/qpdf/QPDF_String.hh6
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);