aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2022-02-04Replace containers of PointerHolder with containers of std::shared_ptrJay Berkenbilt
None of these are in the public API.
2022-02-04JSON: use std::shared_ptr internallyJay Berkenbilt
2022-02-04PointerHolder: deprecate getPointer() and getRefcount()Jay Berkenbilt
Use get() and use_count() instead. Add #define NO_POINTERHOLDER_DEPRECATION to remove deprecation markers for these only. This commit also removes all deprecated PointerHolder API calls from qpdf's code except in PointerHolder's test suite, which must continue to test the deprecated APIs.
2022-02-04PointerHolder: add get() and use_count() for forward compatibilityJay Berkenbilt
PointerHolder will be replaced with shared_ptr, so let people start moving.
2022-02-04Add array test to PointerHolderJay Berkenbilt
2022-02-04TODO: add notes on json v2 and other post-QPDFJob activities/ideasJay Berkenbilt
2022-02-04C-API add two binary UTF8 funtionsm-holger
add qpdf_oh_new_binary_unicode_string and qpdf_oh_get_binary_utf8_value
2022-02-04Update job.sums from doc typo PRJay Berkenbilt
2022-02-04Remove duplicate ChangeLog entryJay Berkenbilt
2022-02-04Fix --check-linearization of non-linearized files (fixes #615)m-holger
2022-02-02Change QPDFExc type to unsupported for /Standard filterm-holger
2022-02-02Fix some doc typosm-holger
2022-02-02Update performance check to use newer --helpJay Berkenbilt
2022-02-01Add ChangeLog entries for refactoring workJay Berkenbilt
2022-02-01QPDFJob: let initializeFromArgv just take argv, not argcJay Berkenbilt
Let argv be a null-terminated array. There is already code that assumes this, and it makes it easier to construct the arguments.
2022-02-01Finish QPDFJob examples and add tests for themJay Berkenbilt
2022-02-01Make QPDFArgParser accept const argvJay Berkenbilt
This makes it much more convention to use the initializeFromArgv functions since you can use string literals.
2022-02-01Add qpdfjob-c.h -- simple C API around parts of QPDFJobJay Berkenbilt
2022-02-01Move QTC::TC for qpdf to QPDFJobJay Berkenbilt
All the coverage cases that used to be in qpdf.cc are now in QPDFJob*.cc. It doesn't really matter, but better to follow the convention of starting with the class that includes the coverage call.
2022-02-01Move more code from qpdf.cc into QPDFJobJay Berkenbilt
2022-02-01QPDFJob: documentationJay Berkenbilt
2022-02-01generate_auto_job: generate overloaded config decls for optionalJay Berkenbilt
For optional parameter/choices, generate an overloaded config method that takes no arguments. This makes it possible to convert from a bare argument to one that takes an optional parameter without breaking binary compatibility.
2022-02-01Clean up documentation and help around json optionsJay Berkenbilt
2022-02-01Tweak short text for job schema helpJay Berkenbilt
2022-02-01QPDFJob json: make bare arguments expect the empty stringJay Berkenbilt
Changing from bool requiring true to string requiring the empty string is more consistent with the CLI and makes it possible to add an optional parameter or choices later without breaking compatibility.
2022-02-01QPDFJob json: flatten json structureJay Berkenbilt
Flatten everything to make it easier to map command-line flags to json. The old structure was an illusion anyway because there was no mechanism to enforce that things were in the right place. This also helps with future flexibility.
2022-01-31QPDFJob: add test casesJay Berkenbilt
2022-01-31Add optional version to --jsonJay Berkenbilt
2022-01-31Remove outdated commentsJay Berkenbilt
2022-01-31job.yml: remove stray lineJay Berkenbilt
2022-01-31Change filename or path to file in json and QPDFJobJay Berkenbilt
Use "file" consistently for specifying a file path. We use "filename" when adding attachments for a completely different purpose.
2022-01-31job json: move deterministic-id into output optionsJay Berkenbilt
2022-01-31QPDFJob: fix logic errors in handling arraysJay Berkenbilt
The code was assuming everything was happening inside dictionaries. Instead, make the dictionary key handler creatino explicit only when iterating through dictionary keys.
2022-01-31QPDFJob: rename function that returns job schemaJay Berkenbilt
2022-01-31TODO noteJay Berkenbilt
2022-01-31generate_auto_job: break out build_schema for refactorJay Berkenbilt
2022-01-31QPDFJob: partial mode for initializeFromJsonJay Berkenbilt
2022-01-31QPDFJob: remove from json a few things that only make sense from CLIJay Berkenbilt
2022-01-31QPDFJob_json: implement handlers for pagesJay Berkenbilt
2022-01-31QDPFJob: incorporate change to JSONHandler for array start functionJay Berkenbilt
2022-01-31JSONHandler: pass JSON object to array start functionJay Berkenbilt
2022-01-31QPDFJob_json: implement handlers except pagesJay Berkenbilt
2022-01-31QPDFJob: incorporate change to JSONHandler for dict start functionJay Berkenbilt
2022-01-31JSONHandler: pass JSON object to dict start functionJay Berkenbilt
If some keys depend on others, we have to check up front since there is no control of what order key handlers will be called. Anyway, keys are unordered in json, so we don't want to depend on ordering.
2022-01-31QPDFJob: autogenerate json init and declarationsJay Berkenbilt
Now still have to go through and implement the handlers.
2022-01-31QPDFJob_json: add code to register handlersJay Berkenbilt
2022-01-31Fix typo in error messageJay Berkenbilt
2022-01-31Fix false compiler warning in debug modeJay Berkenbilt
2022-01-31Keep JSONHandler and QPDFArgParser privateJay Berkenbilt
Since the functionality of argument parsing has moved into QPDFJob, these classes no longer need to be public. Their methods still have to be in the library's binary interface so they can be tested in libtests.
2022-01-31QPDFJob: generate json decl and init file skeletonsJay Berkenbilt