summaryrefslogtreecommitdiffstats
path: root/libqpdf
AgeCommit message (Collapse)Author
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-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-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-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
2022-01-31QPDFJob: add checkConfiguration to ConfigJay Berkenbilt
2022-01-31QPDFJob: prepare for automatically generated json handlersJay Berkenbilt
2022-01-30More doc tweaksJay Berkenbilt
2022-01-30More editorial changes from m-holger + spell checkJay Berkenbilt
2022-01-30Improve top-level help informationJay Berkenbilt
2022-01-30Use QPDFUsage exception for cli, json, and QPDFJob errorsJay Berkenbilt
2022-01-30Incorporate editorial changes from m-holgerJay Berkenbilt
2022-01-30Fix typos in manualm-holger
Fix typos in cli.rst
2022-01-30QPDFJob: use pointers instead of references for ConfigJay Berkenbilt
Why? The main methods that create them return smart pointers so that users can initialize them when needed, which you can't do with references. Returning pointers instead of references makes for a more uniform interface.
2022-01-30QPDFJob: use manually named end functions for Config classesJay Berkenbilt
Use named functions rather than just end() for clarity.
2022-01-30QPDFJob: move placeholder json to a separate source fileJay Berkenbilt
2022-01-30QPDFJob: make remaining members privateJay Berkenbilt
2022-01-30Minor cleanupJay Berkenbilt
2022-01-30QPDFJob: move private members into MembersJay Berkenbilt
2022-01-30QPDFJob: use config API in place-holder jsonJay Berkenbilt
2022-01-30QPDFJob: move input/output handling into configJay Berkenbilt
2022-01-30QPDFJob: eliminate most access to QPDFJob members from ArgParserJay Berkenbilt
All that's left now is input and output handling.
2022-01-30QPDFArgParser: remove unused copyFromOtherTableJay Berkenbilt
This was used, but it no longer is, so let's not keep the extra complexity around.