aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFObjectHandle.cc
AgeCommit message (Collapse)Author
2023-02-18Change type of QPDFValue::object_description to std::shared_ptr<std::variant>m-holger
Also, name the type QPDFValue::Description.
2023-01-02Inline QPDFObjectHandle::dereferencem-holger
2022-12-31Make QPDFValue::object_description a shared pointerm-holger
2022-12-31Add new virtual method QPDFObject::getStringValuem-holger
Avoid dynamic casting.
2022-12-31Fix QPDFObjectHandle::isScalarm-holger
Exclude uninitialized, destroyed and reserved objects.
2022-11-20Refactor QPDFObjectHandle::copyObject and rename to makeDirectm-holger
2022-11-20Remove redundant parameter cross_indirect from QPDFObjectHandle::copyObjectm-holger
2022-11-20Remove redundant parameter first_level_only from QPDFObjectHandle::copyObjectm-holger
2022-11-20Refactor QPDFObjectHandle::shallowCopym-holger
2022-11-20Refactor QPDFObjectHandle::copyObject1m-holger
2022-11-20Remove redundant parameter first_level_only from ↵m-holger
QPDFObjectHandle::shallowCopyInternal2 and copyObject2
2022-11-20Remove redundant parameters cross_indirect and stop_atstreams from ↵m-holger
QPDFObjectHandle::copyObject1
2022-11-20Refactor QPDFObjectHandle::unsafeShallowCopym-holger
2022-11-20Remove redundant QPDFObjectHandle::copyObject2m-holger
copyObject2 repeats a second time what new_obj = QPDFObjectHandle(obj->copy(true)) in shallowCopyInternal2 already did.
2022-11-20Remove redundant parameter first_level_only from ↵m-holger
QPDFObjectHandle::shallowCopyInternal2 and copyObject2
2022-11-20Remove redundant parameters cross_indirect and stop_atstreams from ↵m-holger
QPDFObjectHandle::copyObject2
2022-11-20Split QPDFObjectHandle::shallowCopyInternal and copyObjectm-holger
Have separate versions for unsafeShallowCopy, shallowCopy and makeDirect.
2022-11-20Rename QPDFObject::shallowCopy to copym-holger
Add optional parameter shallow. Change logic errors to runtime errors.
2022-11-19Remove QPDFObjectHandle::Factory::newStreamm-holger
2022-11-19Add new methods QPDF::newStreamm-holger
2022-11-14Fix stray formatting errorm-holger
2022-09-21Replace calls to QUtil::int_to_string with std::to_stringm-holger
2022-09-10Change QPDFObjectHandle == to isSameObjectAsJay Berkenbilt
Replace operator== and operator!=, which were testing for the same underlying object, with isSameObjectAs. This change was motivated by the fact that pikepdf internally had its own operator== method for QPDFObjectHandle that did structural comparison. I backed out qpdf's operator== as a courtesy to pikepdf (in my own testing) but also because I think people might naturally assume that operator== does a structural comparison, and isSameObjectAs is clearer in its intent.
2022-09-08Rename QPDFValueProxy back to QPDFObjectJay Berkenbilt
QPDFValueProxy wasn't a good name for it. We decided the evil of having the header file be named QPDFObject_private.hh was less than the evil of having the class be named something other than what it should have been named.
2022-09-08Rename QPDFValueProxy.hh and QPDFValueProxy.ccJay Berkenbilt
Preparing to change the class name back to QPDFObject
2022-09-08Change reset to disconnect and clarify commentsJay Berkenbilt
I decided that it's actually fine to copy a direct object to another QPDF. Even if we eventually prevent a QPDFObject from having multiple parents, this could happen if an object is moved.
2022-09-08Create a special "destroyed" type rather than using nullJay Berkenbilt
When a QPDF is destroyed, changing indirect objects to direct nulls makes them effectively disappear silently when they sneak into other places. Instead, we should treat this as an error. Adding a destroyed object type makes this possible.
2022-09-08Clear owning QPDF information for all objects, not just indirectJay Berkenbilt
2022-09-07Revert getOwningQPDF, and add getQPDF that returns a referenceJay Berkenbilt
2022-09-07Implement QPDFObjectHandle equalityJay Berkenbilt
2022-09-06Rename QPDFObject -> QPDFValueProxyJay Berkenbilt
This is in preparation for restoring a QPDFObject.hh to ease the transition on qpdf_object_type_e. This commit was created by * Renaming QPDFObject.cc and QPDFObject.hh * Replacing QPDFObject\b with QPDFValueProxy (where \b is word boundary) * Running format-code * Manually resorting files in libqpdf/CMakeLists.txt * Manually refilling the comment in QPDF.hh near class Resolver
2022-09-04Fix commit 805c1ad : Reset QPDFValue::qpdf and QPDFValue::og when ...m-holger
On destruction of the QPDF object replace all indirect object references with direct nulls. Remove all existing code to release resolved references. Fixes performance issue due to interaction of resetting QPDFValue::qpdf and og members and prior code.
2022-09-02Make QPDFObject::releaseResolved publicJay Berkenbilt
Now that QPDFObject.hh is out of the public API, we don't really need QPDFObjAccessor. Also, the function didn't have to be virtual anymore.
2022-09-02Stop including QPDFObject.hh from other than private filesJay Berkenbilt
This required moving some newly inlined functions back to the cc file, but that seems to have had no measurable performance impact.
2022-09-02Remove QPDFObject::object_type_e as alias for qpdf_object_type_eJay Berkenbilt
2022-09-01Remove methods and parameters obsoleted by the last two commitsm-holger
2022-09-01Add method QPDFObject::getObjGen and remove QPDFObjectHandle::ogm-holger
2022-09-01Add method QPDFObject::getQPDF and remove QPDFObjectHandle::qpdfm-holger
2022-09-01Add method QPDFObject::resolvem-holger
2022-09-01Change return type of QPDF::resolve to voidm-holger
2022-09-01Remove QPDFObjectHandle::newIndirectm-holger
Modify QPDFParser::parse to call QPDF::getObject instead.
2022-09-01Add private methods QPDF::isCached and QPDF::isUnresolvedm-holger
2022-09-01Remove QPDFObjectHandle::initializedm-holger
2022-09-01Remove QPDF::ObjectChangedm-holger
Also change QPDF::replaceObject and QPDF::swapObjects such that the QPDFObject assigned to an og in the obj_cache is never replaced; only QPDFObject::value is updated.
2022-09-01Split QPDFObject into QPDFObject and QPDFValuem-holger
2022-09-01Change QPDFObjectHandle::shallowCopyInternal to copy scalarsm-holger
2022-09-01Add private methods QPDFObjectHandle::asArray etcm-holger
Centralise casting of QPDFObjects and reduce repeated dereferencing.
2022-08-31Modify newIndirect to set QPDFObjectHandle::objm-holger
2022-08-31Remove QPDFObjectHandle::makeReservedm-holger
2022-08-31Remove QPDFObjectHandle::reservedm-holger