Jay Berkenbilt
6e70d99b58
QPDFJob increment: generate choices variables in init
2022-01-30 13:11:03 -05:00
Jay Berkenbilt
cb684ec4d3
QPDFJob increment: generate table names
2022-01-30 13:11:03 -05:00
Jay Berkenbilt
fc14bfbbe7
Create real job.yml
2022-01-30 13:11:03 -05:00
Jay Berkenbilt
f8eee83515
Expose QPDFArgParser::usage
2022-01-30 13:11:03 -05:00
Jay Berkenbilt
8dcf6da259
QPDFJob: remove non-check from doFinalChecks
2022-01-30 13:11:03 -05:00
Jay Berkenbilt
c216854607
Add basic framework for QPDFJob code generation
2022-01-30 13:11:03 -05:00
Jay Berkenbilt
ad096b462c
Add place-holder job.yml
2022-01-30 13:11:03 -05:00
Jay Berkenbilt
bd89aac360
QPDFJob increment: move arg parsing into QPDFJob
...
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 13:11:03 -05:00
Jay Berkenbilt
23b64f8357
Remove qpdf.cc version check
...
Remove comparison of qpdf CLI version with library. With almost all
the functionality moving into the library, this check is no longer
meaningful.
2022-01-30 13:11:03 -05:00
Jay Berkenbilt
12396702af
QPDFJob: reorder functions, no other changes
2022-01-30 13:11:03 -05:00
Jay Berkenbilt
2394dd8519
QPDFJob increment: static functions to member functions
...
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 13:11:03 -05:00
Jay Berkenbilt
e2975b9ed0
QPDFJob: de-templatize do_process and do_process_once
2022-01-30 13:11:03 -05:00
Jay Berkenbilt
2f631997f2
QPDFJob increment: remove std::cout, std::cerr, whoami
...
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 13:11:03 -05:00
Jay Berkenbilt
1ddf5b4b4b
QPDFJob increment: get rid of exit, handle verbose
...
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 13:11:03 -05:00
Jay Berkenbilt
0910e767ad
QPDFJob increment: basic QPDFJob structure
...
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 13:11:03 -05:00
Jay Berkenbilt
8c718b7e6f
Prefix program name before exception message in qpdf CLI
2022-01-30 13:11:02 -05:00
Jay Berkenbilt
2c29a039cb
TODO
2022-01-30 13:11:02 -05:00
Jay Berkenbilt
7d48b446b3
Add raw string and user defined literals to c++11 tests
2022-01-30 13:11:02 -05:00
Jay Berkenbilt
c60b4ea55a
Refactor arg parsing in qpdf.cc to use QPDFArgParser
2022-01-30 13:11:02 -05:00
Jay Berkenbilt
52817f0a45
Implement QPDFArgParser based on ArgParser from qpdf.cc
2022-01-30 13:11:02 -05:00
m-holger
8a5ba5686c
Add some doc comments for QPDFObjectHandle dictionary methods
2022-01-30 12:09:54 -06:00
m-holger
0f9086e509
Fix doc typos
2022-01-30 12:09:54 -06:00
m-holger
8eca9d8fd9
Fix QPDFObjectHandle::isOrHasName
...
Ensure isOrHasName returns true if object is an array and the name is
present anywhere in the array.
2022-01-27 09:35:39 -06:00
m-holger
07db3200cb
Remove some if statements and simplify some boolean expressions
...
Use QPDFObjectHandle::isNameAndEquals, isDictionaryOfType and
isStreamOfType.
2022-01-27 07:31:12 -06:00
m-holger
710d2e54f0
Allow testing for subtype without specifying type in isDictionaryOfType etc
...
Accept empty string as type parameter in
QPDFObjectHandle::isDictionaryOfType and isStreamOfType
to allow for dictionaries with optional type.
2022-01-27 07:31:12 -06:00
Jay Berkenbilt
823926f8bf
Add ChangeLog for previous contribution
2022-01-22 09:16:55 -05:00
m-holger
1b1b471ca9
Make a few whitespace fixes from last commit
...
Commit by ejb@ql.org using m-holger as author so git annotate gives
proper credit for changes.
2022-01-22 09:14:53 -05:00
m-holger
8593b9fdf7
Add new convenience methods QPDFObjectHandle::isNameAndEquals, etc
...
Add methods isNameAndEquals, isDictionaryOfType, isStreamOfType
2022-01-22 08:10:28 -06:00
Jay Berkenbilt
370710657a
Add missing characters from PDF doc encoding ( fixes #606 )
2022-01-11 15:55:19 -05:00
Jay Berkenbilt
77c31305fe
Fix signed/unsigned char warning ( fixes #604 )
2022-01-11 06:51:31 -05:00
Jay Berkenbilt
0f1ffa1215
Move bash/zsh completion helpers to libtests/arg_parser
2022-01-05 18:13:25 -05:00
Jay Berkenbilt
4782b5904f
Move filter-completion.pl to libtests/arg_parser
2022-01-05 18:13:25 -05:00
Jay Berkenbilt
32f7d9989a
TODO: ABI note
2022-01-05 18:13:25 -05:00
Jay Berkenbilt
af91b5b584
Add QUtil::file_can_be_opened
2021-12-29 13:41:02 -05:00
Jay Berkenbilt
ac0060ac38
Refactor arg parsing to allow help option with parameter
2021-12-29 13:35:05 -05:00
Jay Berkenbilt
1c420e852c
Add maintainer mode to build
2021-12-28 11:01:26 -05:00
Jay Berkenbilt
5b6cf45f83
Cleanup TODO
2021-12-21 17:26:05 -05:00
Jay Berkenbilt
eff911a94f
Prepare 10.5.0 release (take 3)
2021-12-21 10:21:23 -05:00
Jay Berkenbilt
bd729026c3
Update READMEs with documentation links
2021-12-21 10:16:26 -05:00
Jay Berkenbilt
3772c34c62
Prepare 10.5.0 release (take 2)
2021-12-21 09:53:13 -05:00
Jay Berkenbilt
36916619f0
Stop adding pre-built documentation to the source distribution
2021-12-21 09:52:41 -05:00
Jay Berkenbilt
e058247bcf
Remove 10.5 release announcement since it hasn't been released yet
2021-12-21 07:23:01 -05:00
Jay Berkenbilt
fdf4d96ea2
Update manual pages
2021-12-20 20:07:33 -05:00
Jay Berkenbilt
402d1bcf4d
zlib-flate: --version prints qpdf version
2021-12-20 17:25:18 -05:00
Jay Berkenbilt
db7bd6feef
Reference latest docs on readthedocs
2021-12-20 17:16:39 -05:00
Jay Berkenbilt
0966b68954
Remove reference to abuild in README
2021-12-20 17:02:03 -05:00
Jay Berkenbilt
04745320d6
Prepare 10.5.0 release
2021-12-20 14:51:46 -05:00
Jay Berkenbilt
d866f48081
Change names of qpdf_object_type_e enumerations
...
They have to be ot_* rather than qpdf_ot_* for compatibility.
* Different enumerated types are not assignment-compatible in C++, at
least with strict compiler settings
* While you can do `constexpr ot_xyz = ::qpdf_ot_xyz` in QPDFObject.hh to
make QPDFObject::ot_xyz work, QPDFObject::object_type_e::ot_xyz will
only work if the enumerated type names are the same.
2021-12-20 14:51:45 -05:00
Jay Berkenbilt
cf7b2b5700
test_driver: split runtest into separate functions
...
Too bad about git annotate but it was pretty crazy to have all those
test cases together like that.
2021-12-20 12:40:03 -05:00
Jay Berkenbilt
c1e2b64a3f
TODO cleanup
2021-12-20 11:45:20 -05:00