aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdf
AgeCommit message (Collapse)Author
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-08Remove unneeded owning_qpdf from QPDFValueJay Berkenbilt
The qpdf member was already sufficient. Removing this actually fixed a few pre-existing issues around detecting foreign ownership and allowing certain conditions to be warnings rather than exceptions.
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-02Remove remaining virtual functions from QPDFObjectJay Berkenbilt
This doesn't need an explicit destructor anymore.
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-02Remove copyright banner from newly private header filesJay Berkenbilt
We don't put specific copyright banners on files that aren't installed.
2022-09-02Remove QPDFObject and QPDFValue from public include directoryJay Berkenbilt
2022-09-01Rename --report-mem-usage to --report-memory-usageJay Berkenbilt
Avd xcsv brvtns.
2022-09-01Change QPDF_Unresolved::create method to take QPDF* and QPDFObjGen parametersm-holger
2022-09-01Remove virtual methods QPDFValue::getTypeCode and getTypeNamem-holger
2022-09-01Split QPDFObject into QPDFObject and QPDFValuem-holger
2022-08-31Add class QPDF_Unresolvedm-holger
Allow QPDFObjectHandle::obj to be set prior resolving object. ot_unresolved has been appended to the list object types in order to preserve the output of existing test cases.
2022-08-31Merge pull request #752 from jberkenbilt/report-mem-usageJay Berkenbilt
Report mem usage
2022-08-31Add --report-mem-usage option for debugging/testingJay Berkenbilt
2022-08-31Add QUtil::get_max_memory_usage for testingJay Berkenbilt
2022-08-30Move QPDFObjectHandle::setObjectDescriptionFromInput to QPDFParserm-holger
Part of #729
2022-08-30Add private methods QPDFParser::warnm-holger
Part of #729
2022-08-30Move QPDFObjectHandle::parseInternal to new class QPDFParserm-holger
Part of #729
2022-07-31Clean up documentationJay Berkenbilt
2022-07-31Simplify --json-outputJay Berkenbilt
Now --json-output just changes defaults. Allow output file with --json.
2022-07-31Fix --json-help to take a version parameterJay Berkenbilt
2022-07-31Change the output of --json to use "qpdf" instead of "objects"Jay Berkenbilt
2022-07-31Update docs and prepare QPDF::writeJSON for changesJay Berkenbilt
Add additional parameters that will be needed to call QPDF::writeJSON in partial mode.
2022-07-24QPDFObjGen : tidy QPDF_Streamm-holger
Change method signatures to use QPDFObjGen. Replace QPDF_Stream::objid and generation with QPDF_Stream::og.
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-25Remove QPDF_Stream::setStreamDescriptionm-holger
2022-06-25Remove redundant QPDF_Array::setDescription and QPDF_Dictionary::setDescriptionm-holger
2022-05-31Update documentation for qpdf JSON v2Jay Berkenbilt
2022-05-21Change default decode level to "none" with --json-outputJay Berkenbilt
2022-05-20Make version default to latest for --json-output (like --json)Jay Berkenbilt
2022-05-20Major rework -- see long commentsJay Berkenbilt
* Replace --create-from-json=file with --json-input, which causes the regular input to be treated as json. * Eliminate --to-json * In --json=2, bring back "objects" and eliminate "objectinfo". Stream data is never present. * In --json-output=2, write "qpdf-v2" with "objects" and include stream data.
2022-05-16Add --create-from-json and --update-from-json argumentsJay Berkenbilt
Also add stubs for top-level QPDF methods (createFromJSON, updateFromJSON)
2022-05-08Add --to-json optionJay Berkenbilt
2022-05-08Implement JSON v2 outputJay Berkenbilt
2022-05-08Implement JSON v2 for StreamJay Berkenbilt
Not fully exercised in this commit
2022-05-08Implement JSON v2 for StringJay Berkenbilt
Also refine the herustic for deciding whether to use hexadecimal notation for a string.
2022-05-07Prepare code for JSON v2Jay Berkenbilt
Update getJSON() methods and calls to them
2022-05-07Add --test-json-schema command-line optionJay Berkenbilt
2022-05-04Make Pipeline::write take an unsigned char const* (API change)Jay Berkenbilt
2022-05-04Make assert handling less error-proneJay Berkenbilt
Prevent my future self or other contributors from using assert in tests and then having that assert not do anything because of the NDEBUG macro.
2022-05-04Add internal Pl_Base64Jay Berkenbilt
Bidirectional base64; will be used by JSON v2.
2022-04-24QPDFJob json: make removeAttachment take an array (fixes #693)Jay Berkenbilt
2022-04-24Deprecate replaceOrRemoveKey -- it's the same as replaceKeyJay Berkenbilt
2022-04-24Have dictionary/streams mutators take const& where possibleJay Berkenbilt