aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/qpdf/QPDFJob.hh30
1 files changed, 18 insertions, 12 deletions
diff --git a/include/qpdf/QPDFJob.hh b/include/qpdf/QPDFJob.hh
index 64075bc1..e16e5ca1 100644
--- a/include/qpdf/QPDFJob.hh
+++ b/include/qpdf/QPDFJob.hh
@@ -43,6 +43,13 @@ class QPDFWriter;
class QPDFJob
{
public:
+ // Exit codes -- returned by getExitCode() after calling run()
+ static int constexpr EXIT_ERROR = 2;
+ static int constexpr EXIT_WARNING = 3;
+ // For is-encrypted and requires-password
+ static int constexpr EXIT_IS_NOT_ENCRYPTED = 2;
+ static int constexpr EXIT_CORRECT_PASSWORD = 3;
+
// QPDFUsage is thrown if there are any usage-like errors when
// calling Config methods.
QPDF_DLL
@@ -345,17 +352,6 @@ class QPDFJob
QPDF_DLL
std::shared_ptr<Config> config();
- // Options for helping the qpdf CLI use the correct edit code and
- // properly report warnings.
- QPDF_DLL
- bool suppressWarnings();
- QPDF_DLL
- bool warningsExitZero();
- QPDF_DLL
- bool checkRequiresPassword();
- QPDF_DLL
- bool checkIsEncrypted();
-
// Execute the job
QPDF_DLL
void run();
@@ -364,7 +360,17 @@ class QPDFJob
// run() is called.
QPDF_DLL
- bool hasWarnings();
+ bool hasWarnings() const;
+
+ // Return one of the EXIT_* constants defined at the top of the
+ // class declaration. This may be called after run() when run()
+ // did not throw an exception. Takes into consideration whether
+ // isEncrypted or requiresPassword was called. Note that this
+ // function does not know whether run() threw an exception, so
+ // code that uses this to determine how to exit should explicitly
+ // use EXIT_ERROR if run() threw an exception.
+ QPDF_DLL
+ int getExitCode() const;
// Return value is bitwise OR of values from qpdf_encryption_status_e
QPDF_DLL