Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-01-30 | Move doFinalChecks to QPDFJob::checkConfiguration | Jay Berkenbilt | |
2022-01-30 | QPDFJob: make createsOutput callable before run() | Jay Berkenbilt | |
2022-01-30 | QPDFJob: start real API | Jay Berkenbilt | |
Create QPDFJob_options.cc to hold API implementation functions. Reorganize a little in preparation for moving public member variables private and creating the real QPDFJob API that will be used by callers as well as the argv/json initialization methods. | |||
2022-01-30 | QPDFJob: placeholder for initializeFromJson | Jay Berkenbilt | |
2022-01-30 | Incorporate job schema generation into generate_auto_job | Jay Berkenbilt | |
2022-01-30 | QPDFJob: allocate QPDFArgParser on stack | Jay 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-30 | QPDFJob: convert Under/Overlay to use shared pointers | Jay Berkenbilt | |
2022-01-30 | QPDFJob: convert Under/Overlay ranges to strings | Jay Berkenbilt | |
2022-01-30 | QPDFJob: convert PageSpec to used shared pointer | Jay Berkenbilt | |
2022-01-30 | QPDFJob: convert outfilename to shared pointer | Jay Berkenbilt | |
2022-01-30 | QPDFJob: convert infilename to shared pointer | Jay Berkenbilt | |
2022-01-30 | QPDFJob: convert encryption_file args to shared pointers | Jay Berkenbilt | |
2022-01-30 | QPDFJob: convert password to shared pointer | Jay Berkenbilt | |
2022-01-30 | QPDFJob: use std::shared_ptr over PointerHolder where possible | Jay Berkenbilt | |
Also fix QPDFArgParser | |||
2022-01-30 | Add QUtil::make_shared_cstr | Jay Berkenbilt | |
Replace most of the calls to QUtil::copy_string with this instead. | |||
2022-01-30 | cli.rst: remove () from end of short help | Jay 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-30 | Allow optional fields in json "schema" checks | Jay Berkenbilt | |
2022-01-30 | Add missing help topic for inspection | Jay Berkenbilt | |
2022-01-30 | JSONHandler: rework dictionary and array handlers | Jay Berkenbilt | |
2022-01-30 | Editorial changes to cli.rst | Jay Berkenbilt | |
2022-01-30 | Fix json schema for objects to include dictionary key | Jay Berkenbilt | |
2022-01-30 | Use JSON::parse to initialize schema for json mode | Jay Berkenbilt | |
2022-01-30 | Implement JSONHandler for recursively processing JSON | Jay Berkenbilt | |
2022-01-30 | CLI doc: use tables where helpful | Jay Berkenbilt | |
2022-01-30 | Add JSON::parse | Jay Berkenbilt | |
2022-01-30 | Add missing \f support for JSON string encoder | Jay Berkenbilt | |
2022-01-30 | Add JSON::isDictionary and JSON::isArray | Jay Berkenbilt | |
2022-01-30 | Document how to add a command-line argument | Jay Berkenbilt | |
2022-01-30 | Generate help content from manual | Jay 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-30 | QPDFArgParser: support adding/printing help information | Jay Berkenbilt | |
2022-01-30 | Fix comment on duplicated top-level json keys | Jay Berkenbilt | |
2022-01-30 | QPDFArgParser: handle optional choices including help | Jay 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-30 | Minor code cleanup | Jay Berkenbilt | |
2022-01-30 | Fix doc typos caught by m-holger -- thanks | Jay Berkenbilt | |
2022-01-30 | QPDFJob increment: generate option table initialization | Jay Berkenbilt | |
2022-01-30 | Add QPDFArgParser::copyFromOtherTable | Jay Berkenbilt | |
2022-01-30 | QPDFJob increment: generate handler declarations | Jay Berkenbilt | |
2022-01-30 | QPDFJob increment: generate choices variables in init | Jay Berkenbilt | |
2022-01-30 | QPDFJob increment: generate table names | Jay Berkenbilt | |
2022-01-30 | Expose QPDFArgParser::usage | Jay Berkenbilt | |
2022-01-30 | QPDFJob: remove non-check from doFinalChecks | Jay Berkenbilt | |
2022-01-30 | Add basic framework for QPDFJob code generation | Jay Berkenbilt | |
2022-01-30 | QPDFJob increment: move arg parsing into QPDFJob | Jay 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-30 | QPDFJob: reorder functions, no other changes | Jay Berkenbilt | |
2022-01-30 | QPDFJob increment: static functions to member functions | Jay 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-30 | QPDFJob: de-templatize do_process and do_process_once | Jay Berkenbilt | |
2022-01-30 | QPDFJob increment: remove std::cout, std::cerr, whoami | Jay 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-30 | QPDFJob increment: get rid of exit, handle verbose | Jay 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-30 | QPDFJob increment: basic QPDFJob structure | Jay 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-30 | Implement QPDFArgParser based on ArgParser from qpdf.cc | Jay Berkenbilt | |