aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)Author
2022-09-13Improve efficiency of ResolveRecorderJay Berkenbilt
Removing an element from a set with iterator is constant time, and std::set specifies that other operations on the set do not invalidate existing iterators.
2022-09-13Fix up a few commentsJay Berkenbilt
2022-09-12Bump version to 11.1.0Jay Berkenbilt
Some new symbols were exported.
2022-09-12Add some missing QPDF_DLL markersJay Berkenbilt
These markers are being added for nested classes that are already marked with QPDF_DLL_CLASS. They don't make any different on Linux, but they matter on Windows.
2022-09-12Add default move constructor/assignment to QPDFObjectHandlem-holger
2022-09-12Bump version to 11.0.1Jay Berkenbilt
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-09Add C API functions for using custom loggersJay Berkenbilt
Expose functions to the C API to create new loggers and to setLogger and getLogger for QPDF and QPDFJob.
2022-09-09Make QPDFLogger() private and provide create methodJay Berkenbilt
2022-09-09Add JSON v2 support to C APIJay Berkenbilt
2022-09-08Switch user-supplied functions in C API to return intJay Berkenbilt
2022-09-08Add ability to initialize Pl_Function with a C-style functionJay Berkenbilt
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-08Update QPDFObject with commentJay Berkenbilt
Also, since it's just there for compatibility, we don't need to add new object types to it.
2022-09-07Revert getOwningQPDF, and add getQPDF that returns a referenceJay Berkenbilt
2022-09-07Clarify and improve QPDFPageObjectHelper::get*Box methodsJay Berkenbilt
Add copy_if_fallback and explain how it differs from copy_if_shared.
2022-09-07Implement QPDFObjectHandle equalityJay Berkenbilt
2022-09-06Support --show-encryption without a valid password (fixes #598)Jay Berkenbilt
2022-09-06Clarify comments for QPDFObjectHandle::getOwningQPDFJay Berkenbilt
2022-09-06Re-introduce QPDFObject.hh as deprecatedJay Berkenbilt
* Just removing a header file would cause build errors with no hint as to what happened. This way, people get a warning rather than error for the life of qpdf 11, and the warning tells them what to do. * This avoids build surprises resulting from having two versions of QPDF headers installed at once. If you were building code out of a checkout of qpdf but had an older version installed on your system, if your code included <qpdf/QPDFObject.hh>, everything would work, but then your code would break without QPDFObject.hh later.
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-06Update formatting a documentation from last PRJay Berkenbilt
2022-09-05Take advantage of unique_ptr and move construction for BufferJames R. Barlow
Since Buffer has always implemented its copy constructor with a deep copy, its Members object will never have multiple owners. Change to unique_ptr. Also implement move constructors for Buffer, since there may be cases where a deep copy is not needed.
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-02Update comments in Constants.hJay Berkenbilt
2022-09-02Disable copying/assigning to QPDF objects, add QPDF::create()Jay Berkenbilt
2022-09-02Fix outdated commentJay Berkenbilt
2022-09-02Remove QPDFObject and QPDFValue from public include directoryJay Berkenbilt
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-01Rename --report-mem-usage to --report-memory-usageJay Berkenbilt
Avd xcsv brvtns.
2022-09-01Merge pull request #730 from m-holger/allpagesJay Berkenbilt
Tidy QPDF::getAllPagesInternal and QPDF::pushInheritedAttributesToPageInternal
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-01Add methods QPDFObject::setObjGen and QPDFObject::resetObjGenm-holger
Also, modify QPDFObject::swapWith to update the ObjGens of the swapped objects. Modify QPDF::newIndirect and QPDF::updateCache to keep object ObjGens up to date.
2022-09-01Change QPDF_Unresolved::create method to take QPDF* and QPDFObjGen parametersm-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 method QPDF::ObjCache::updatem-holger
Add a new obj_cache entry or update an existing entry in place.
2022-09-01Add private methods QPDF::isCached and QPDF::isUnresolvedm-holger
2022-09-01Remove QPDFObjectHandle::initializedm-holger
2022-09-01Remove virtual methods QPDFValue::getTypeCode and getTypeNamem-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