aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFObjectHandle.cc
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2022-01-21 15:09:06 +0100
committerJay Berkenbilt <jberkenbilt@users.noreply.github.com>2022-01-22 15:10:28 +0100
commit8593b9fdf74e68099a5fe2aa0b6d0b6320781a2d (patch)
treee280ab8d4af58b16f21a4e3fb05342c04e0e3d29 /libqpdf/QPDFObjectHandle.cc
parent370710657a7e7c771668107d1b6407fc350a2891 (diff)
downloadqpdf-8593b9fdf74e68099a5fe2aa0b6d0b6320781a2d.tar.zst
Add new convenience methods QPDFObjectHandle::isNameAndEquals, etc
Add methods isNameAndEquals, isDictionaryOfType, isStreamOfType
Diffstat (limited to 'libqpdf/QPDFObjectHandle.cc')
-rw-r--r--libqpdf/QPDFObjectHandle.cc28
1 files changed, 28 insertions, 0 deletions
diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc
index 1a8e3223..f2c77dca 100644
--- a/libqpdf/QPDFObjectHandle.cc
+++ b/libqpdf/QPDFObjectHandle.cc
@@ -497,6 +497,34 @@ QPDFObjectHandle::isScalar()
isOperator() || isInlineImage()));
}
+bool
+QPDFObjectHandle::isNameAndEquals(std::string const& name)
+{
+ return isName() && (getName() == name);
+}
+
+bool
+QPDFObjectHandle::isDictionaryOfType(std::string const& type,
+ std::string const& subtype)
+{
+ if (isDictionary() && getKey("/Type").isNameAndEquals(type))
+ {
+ return (subtype == "") ||
+ (hasKey("/Subtype") && getKey("/Subtype").isNameAndEquals(subtype));
+ }
+ else
+ {
+ return false;
+ }
+}
+
+bool
+QPDFObjectHandle::isStreamOfType(std::string const& type,
+ std::string const& subtype)
+{
+ return isStream() && getDict().isDictionaryOfType(type, subtype);
+}
+
// Bool accessors
bool