Commit 564dc036072803d2ee9018f892e2d3a6570387fa
1 parent
1d099ab7
QPDFJob: start real API
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.
Showing
3 changed files
with
28 additions
and
15 deletions
include/qpdf/QPDFJob.hh
| @@ -45,6 +45,8 @@ class QPDFJob | @@ -45,6 +45,8 @@ class QPDFJob | ||
| 45 | QPDF_DLL | 45 | QPDF_DLL |
| 46 | QPDFJob(); | 46 | QPDFJob(); |
| 47 | 47 | ||
| 48 | + // SETUP FUNCTIONS | ||
| 49 | + | ||
| 48 | // Initialize a QPDFJob object from argv. The progname_env | 50 | // Initialize a QPDFJob object from argv. The progname_env |
| 49 | // argument is the name of an environment variable which, if set, | 51 | // argument is the name of an environment variable which, if set, |
| 50 | // overrides the name of the executable for purposes of generating | 52 | // overrides the name of the executable for purposes of generating |
| @@ -83,37 +85,46 @@ class QPDFJob | @@ -83,37 +85,46 @@ class QPDFJob | ||
| 83 | QPDF_DLL | 85 | QPDF_DLL |
| 84 | void setOutputStreams(std::ostream* out_stream, std::ostream* err_stream); | 86 | void setOutputStreams(std::ostream* out_stream, std::ostream* err_stream); |
| 85 | 87 | ||
| 86 | - // If in verbose mode, call the given function, passing in the | ||
| 87 | - // output stream and message prefix. | ||
| 88 | - QPDF_DLL | ||
| 89 | - void doIfVerbose( | ||
| 90 | - std::function<void(std::ostream&, std::string const& prefix)> fn); | 88 | + // QXXXQ set options -- implemented in QPDFJob_options.cc |
| 91 | 89 | ||
| 90 | + // QXXXQ these will not be in the final interface | ||
| 92 | QPDF_DLL | 91 | QPDF_DLL |
| 93 | - void run(); | ||
| 94 | - | 92 | + bool suppressWarnings(); |
| 95 | QPDF_DLL | 93 | QPDF_DLL |
| 96 | - bool hasWarnings(); | ||
| 97 | - | 94 | + bool warningsExitZero(); |
| 98 | QPDF_DLL | 95 | QPDF_DLL |
| 99 | - bool createsOutput(); | ||
| 100 | - | 96 | + bool checkRequiresPassword(); |
| 101 | QPDF_DLL | 97 | QPDF_DLL |
| 102 | - bool suppressWarnings(); | 98 | + bool checkIsEncrypted(); |
| 99 | + // /QXXXQ | ||
| 103 | 100 | ||
| 101 | + // Execute the job | ||
| 104 | QPDF_DLL | 102 | QPDF_DLL |
| 105 | - bool warningsExitZero(); | 103 | + void run(); |
| 104 | + | ||
| 105 | + // CHECK STATUS -- these methods provide information known after | ||
| 106 | + // run() is called. | ||
| 106 | 107 | ||
| 107 | QPDF_DLL | 108 | QPDF_DLL |
| 108 | - bool checkRequiresPassword(); | 109 | + bool hasWarnings(); |
| 109 | 110 | ||
| 110 | QPDF_DLL | 111 | QPDF_DLL |
| 111 | - bool checkIsEncrypted(); | 112 | + bool createsOutput(); // QXXXQ need better name |
| 112 | 113 | ||
| 113 | // Return value is bitwise OR of values from qpdf_encryption_status_e | 114 | // Return value is bitwise OR of values from qpdf_encryption_status_e |
| 114 | QPDF_DLL | 115 | QPDF_DLL |
| 115 | unsigned long getEncryptionStatus(); | 116 | unsigned long getEncryptionStatus(); |
| 116 | 117 | ||
| 118 | + // HELPER FUNCTIONS -- methods useful for calling in handlers that | ||
| 119 | + // interact with QPDFJob during run or initialization. | ||
| 120 | + | ||
| 121 | + // If in verbose mode, call the given function, passing in the | ||
| 122 | + // output stream and message prefix. | ||
| 123 | + QPDF_DLL | ||
| 124 | + void doIfVerbose( | ||
| 125 | + std::function<void(std::ostream&, std::string const& prefix)> fn); | ||
| 126 | + | ||
| 127 | + | ||
| 117 | // QXXXQ From here to END-PUBLIC should all be private or | 128 | // QXXXQ From here to END-PUBLIC should all be private or |
| 118 | // different somehow | 129 | // different somehow |
| 119 | public: | 130 | public: |
libqpdf/QPDFJob_config.cc
0 → 100644
| 1 | +#include <qpdf/QPDFJob.hh> |
libqpdf/build.mk
| @@ -73,6 +73,7 @@ SRCS_libqpdf = \ | @@ -73,6 +73,7 @@ SRCS_libqpdf = \ | ||
| 73 | libqpdf/QPDFFormFieldObjectHelper.cc \ | 73 | libqpdf/QPDFFormFieldObjectHelper.cc \ |
| 74 | libqpdf/QPDFJob.cc \ | 74 | libqpdf/QPDFJob.cc \ |
| 75 | libqpdf/QPDFJob_argv.cc \ | 75 | libqpdf/QPDFJob_argv.cc \ |
| 76 | + libqpdf/QPDFJob_config.cc \ | ||
| 76 | libqpdf/QPDFMatrix.cc \ | 77 | libqpdf/QPDFMatrix.cc \ |
| 77 | libqpdf/QPDFNameTreeObjectHelper.cc \ | 78 | libqpdf/QPDFNameTreeObjectHelper.cc \ |
| 78 | libqpdf/QPDFNumberTreeObjectHelper.cc \ | 79 | libqpdf/QPDFNumberTreeObjectHelper.cc \ |