diff options
author | m-holger <m-holger@kubitscheck.org> | 2022-01-21 15:09:06 +0100 |
---|---|---|
committer | Jay Berkenbilt <jberkenbilt@users.noreply.github.com> | 2022-01-22 15:10:28 +0100 |
commit | 8593b9fdf74e68099a5fe2aa0b6d0b6320781a2d (patch) | |
tree | e280ab8d4af58b16f21a4e3fb05342c04e0e3d29 /libqpdf/QPDFObjectHandle.cc | |
parent | 370710657a7e7c771668107d1b6407fc350a2891 (diff) | |
download | qpdf-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.cc | 28 |
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 |