-
Move most of the methods called from qpdf.cc after argument parsing into QPDFJob. In this increment, enough QPDFJob API has been added to handle the branch of QPDFJob::run() that creates output with an appropriate division between qpdf.cc and QPDFJob. There are temporary bits of code to enable everything to compile and pass the test suite, including some duplication and hard-coded values.
-
Ensure isOrHasName returns true if object is an array and the name is present anywhere in the array.
-
Use QPDFObjectHandle::isNameAndEquals, isDictionaryOfType and isStreamOfType.
-
Accept empty string as type parameter in QPDFObjectHandle::isDictionaryOfType and isStreamOfType to allow for dictionaries with optional type.
-
Commit by ejb@ql.org using m-holger as author so git annotate gives proper credit for changes.
-
Add methods isNameAndEquals, isDictionaryOfType, isStreamOfType
-
They have to be ot_* rather than qpdf_ot_* for compatibility. * Different enumerated types are not assignment-compatible in C++, at least with strict compiler settings * While you can do `constexpr ot_xyz = ::qpdf_ot_xyz` in QPDFObject.hh to make QPDFObject::ot_xyz work, QPDFObject::object_type_e::ot_xyz will only work if the enumerated type names are the same.
-
Too bad about git annotate but it was pretty crazy to have all those test cases together like that.
-
QPDFObjectHandle gets copied a lot, so let's not add another field. For performance reasons, QPDFObjectHandle does not indirect through a smart pointer, so this would also be an ABI change.