aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
AgeCommit message (Collapse)Author
2022-01-30QPDFJob: placeholder for initializeFromJsonJay Berkenbilt
2022-01-30Incorporate job schema generation into generate_auto_jobJay Berkenbilt
2022-01-30QPDFJob: allocate QPDFArgParser on stackJay Berkenbilt
The previous commits have removed all references to memory from QPDFArgParser from QPDFJob. This commit removes the constraint that QPDFArgParser remain in scope. This is a prerequisite to allowing JSON as an alternative way to initialize QPDFJob and to initialize it directly using a public API.
2022-01-30QPDFJob: convert Under/Overlay to use shared pointersJay Berkenbilt
2022-01-30QPDFJob: convert Under/Overlay ranges to stringsJay Berkenbilt
2022-01-30QPDFJob: convert PageSpec to used shared pointerJay Berkenbilt
2022-01-30QPDFJob: convert outfilename to shared pointerJay Berkenbilt
2022-01-30QPDFJob: convert infilename to shared pointerJay Berkenbilt
2022-01-30QPDFJob: convert encryption_file args to shared pointersJay Berkenbilt
2022-01-30QPDFJob: convert password to shared pointerJay Berkenbilt
2022-01-30QPDFJob: use std::shared_ptr over PointerHolder where possibleJay Berkenbilt
Also fix QPDFArgParser
2022-01-30Add QUtil::make_shared_cstrJay Berkenbilt
Replace most of the calls to QUtil::copy_string with this instead.
2022-01-30cli.rst: remove () from end of short helpJay Berkenbilt
This is used to generate a schema for the job json, which can't contain `)"` because it breaks the R"(...)" syntax in C++. While C++ accepts R"anything(...)anything" to avoid this, as of this writing, MSVC 2019 doesn't understand that. For now, just avoid it by removing parentheses from the end of short help.
2022-01-30Allow optional fields in json "schema" checksJay Berkenbilt
2022-01-30Add missing help topic for inspectionJay Berkenbilt
2022-01-30JSONHandler: rework dictionary and array handlersJay Berkenbilt
2022-01-30Editorial changes to cli.rstJay Berkenbilt
2022-01-30Fix json schema for objects to include dictionary keyJay Berkenbilt
2022-01-30Use JSON::parse to initialize schema for json modeJay Berkenbilt
2022-01-30Implement JSONHandler for recursively processing JSONJay Berkenbilt
2022-01-30CLI doc: use tables where helpfulJay Berkenbilt
2022-01-30Add JSON::parseJay Berkenbilt
2022-01-30Add missing \f support for JSON string encoderJay Berkenbilt
2022-01-30Add JSON::isDictionary and JSON::isArrayJay Berkenbilt
2022-01-30Document how to add a command-line argumentJay Berkenbilt
2022-01-30Generate help content from manualJay Berkenbilt
This is a massive rewrite of the help text and cli.rst section of the manual. All command-line flags now have their own help and are specifically index. qpdf --help is completely redone.
2022-01-30QPDFArgParser: support adding/printing help informationJay Berkenbilt
2022-01-30Fix comment on duplicated top-level json keysJay Berkenbilt
2022-01-30QPDFArgParser: handle optional choices including helpJay Berkenbilt
Handle optional choices in addition to required choices. Refactor the way help options are added to completion to make it work with optional help choices.
2022-01-30Minor code cleanupJay Berkenbilt
2022-01-30Fix doc typos caught by m-holger -- thanksJay Berkenbilt
2022-01-30QPDFJob increment: generate option table initializationJay Berkenbilt
2022-01-30Add QPDFArgParser::copyFromOtherTableJay Berkenbilt
2022-01-30QPDFJob increment: generate handler declarationsJay Berkenbilt
2022-01-30QPDFJob increment: generate choices variables in initJay Berkenbilt
2022-01-30QPDFJob increment: generate table namesJay Berkenbilt
2022-01-30Expose QPDFArgParser::usageJay Berkenbilt
2022-01-30QPDFJob: remove non-check from doFinalChecksJay Berkenbilt
2022-01-30Add basic framework for QPDFJob code generationJay Berkenbilt
2022-01-30QPDFJob increment: move arg parsing into QPDFJobJay Berkenbilt
Move ArgParser from qpdf.cc into QPDFJob.cc. It still works with millions of public member variables, but now qpdf.cc is minimal and just calls stable library functions.
2022-01-30QPDFJob: reorder functions, no other changesJay Berkenbilt
2022-01-30QPDFJob increment: static functions to member functionsJay Berkenbilt
Convert remaining static functions that take QPDFJob& as a parameter to member functions. Utility functions that don't take QPDFJob& remain static functions and can probably just stay that way since the keep extra complexity out of QPDFJob.hh.
2022-01-30QPDFJob: de-templatize do_process and do_process_onceJay Berkenbilt
2022-01-30QPDFJob increment: remove std::cout, std::cerr, whoamiJay Berkenbilt
Remove remaining temporary duplication of hard-coded values and direct access to std::cout, std::cerr, and whoami in favor of parameters in QPDFJob. This moves a few more static methods into QPDFJob member functions.
2022-01-30QPDFJob increment: get rid of exit, handle verboseJay Berkenbilt
Remove all calls to exit() from QPDFJob. Handle code that runs in verbose mode to enable it to make use of output streams and message prefix (whoami) from QPDFJob. This removes temporarily duplicated exit code logic and most access to whoami/std::cout outside of QPDFJob proper.
2022-01-30QPDFJob increment: basic QPDFJob structureJay Berkenbilt
Move most of the methods called from qpdf.cc after argument parsing into QPDFJob. In this increment, enough QPDFJob API has been added to handle the branch of QPDFJob::run() that creates output with an appropriate division between qpdf.cc and QPDFJob. There are temporary bits of code to enable everything to compile and pass the test suite, including some duplication and hard-coded values.
2022-01-30Implement QPDFArgParser based on ArgParser from qpdf.ccJay Berkenbilt
2022-01-30Fix doc typosm-holger
2022-01-27Fix QPDFObjectHandle::isOrHasNamem-holger
Ensure isOrHasName returns true if object is an array and the name is present anywhere in the array.
2022-01-27Remove some if statements and simplify some boolean expressionsm-holger
Use QPDFObjectHandle::isNameAndEquals, isDictionaryOfType and isStreamOfType.