aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFObjectHandle.cc
AgeCommit message (Collapse)Author
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
2022-08-30Inline QPDFObjectHandle::setParsedOffsetm-holger
Part of #729
2022-08-30Move QPDFObjectHandle::setObjectDescriptionFromInput to QPDFParserm-holger
Part of #729
2022-08-30Move QPDFObjectHandle::parseInternal to new class QPDFParserm-holger
Part of #729
2022-08-28Add optional parameter allow_nullptr to QPDFObjectHandle::getOwningQPDFm-holger
Also, inline method and add optional parameter error_msg.
2022-08-07Merge pull request #746 from m-holger/smartJay Berkenbilt
Code tidy: remove redundant calls to smart_ptrs get() method
2022-08-07Code tidy: remove redundant calls to smart_ptrs get() methodm-holger
2022-08-01Inline QPDFObjectHandle::getObjGen etcm-holger
Also, make QPDFObjectHandle::isIndirect const.
2022-07-31Merge pull request #734 from m-holger/nullptrJay Berkenbilt
Code tidy : replace 0 with nullptr or true
2022-07-26Code tidy : replace 0 with nullptr or truem-holger
2022-07-24Tweak "AndGet" mutator functions againJay Berkenbilt
Remove any ambiguity around whether old or new value is being returned.
2022-07-24Overload StreamDataProvider::provideStreamDatam-holger
Use 'QPDFObjGen const&' instead of 'int, int' in signature.
2022-07-24QPDFObjGen : tidy QPDF_Streamm-holger
Change method signatures to use QPDFObjGen. Replace QPDF_Stream::objid and generation with QPDF_Stream::og.
2022-07-24QPDFObjGen : tidy QPDF private methodsm-holger
Change method signatures to use QPDFObjGen. Use QPDFObjGen methods where possible. Remove redundant QPDF::objGenToIndirect.
2022-07-24QPDFObjGen : tidy QPDFObjectHandle private methodsm-holger
Change method signature to use QPDFObjGen.
2022-07-24Replace QPDFObjectHandle::objid and generation with QPDFObjectHandle::ogm-holger
2022-07-24Add optional parameter separator to QPDFObjGen::unparsem-holger
Also, revert inlining of unparse and operator << from commit 4c6640c in order to avoid exposing QUtil.
2022-06-27Run format-codeJay Berkenbilt
2022-06-27Refactor QPDFObject creation and cloningm-holger
Move responsibility for creating shared pointers to objects and cloning from QPDFObjectHandle to QPDFObject.
2022-06-27Refactor QPDFObjectTypeAccessor and QPDFObjectHandle::dereferencem-holger
2022-06-25Reformat codeJay Berkenbilt
2022-06-25Add private method QPDFObjectHandle::getObjGenAsStrm-holger
Also, use methods to access objid and generation.
2022-06-18Use the default logger for other writes to stdout/stderrJay Berkenbilt
When there is no context for writing output or error messages, use the default logger.
2022-05-21Code clean up: use range-style for loops wherever possiblem-holger
Remove variables obsoleted by commit 4f24617.
2022-05-20Bug fix: isReserved() true for indirect reference to reserved objectJay Berkenbilt
2022-05-20Back out fluent QPDFObjectHandle methods. Keep the andGet methods.Jay Berkenbilt
I decided these were confusing and inconsistent with how JSON works. They muddle the API rather than improving it.
2022-05-20Add private methods for reserving specific objectsJay Berkenbilt
2022-05-16Improve handling of replacing stream data with empty stringsJay Berkenbilt
When an empty string was passed to replaceStreamData, the code was passing a null pointer to memcpy. Since a 0 size was also passed, this was harmless, but it triggers sanitizer errors. The code properly handles a null pointer as the buffer in other places.
2022-05-08Implement JSON v2 outputJay Berkenbilt
2022-05-08Implement JSON v2 for StreamJay Berkenbilt
Not fully exercised in this commit
2022-05-07Prepare code for JSON v2Jay Berkenbilt
Update getJSON() methods and calls to them