aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-02-01 19:37:31 +0100
committerJay Berkenbilt <ejb@ql.org>2022-02-01 19:50:58 +0100
commitb02d37bc0ae0b7af6077637f855be8579c768c22 (patch)
treea1dbfdd033951afcd41e7a7e36dfbaa0dd903776 /include
parentbc4e2320e7dafea8b6d6b6150c808ed2a98d7d03 (diff)
downloadqpdf-b02d37bc0ae0b7af6077637f855be8579c768c22.tar.zst
Make QPDFArgParser accept const argv
This makes it much more convention to use the initializeFromArgv functions since you can use string literals.
Diffstat (limited to 'include')
-rw-r--r--include/qpdf/QPDFJob.hh14
-rw-r--r--include/qpdf/QUtil.hh9
-rw-r--r--include/qpdf/auto_job_c_att.hh12
-rw-r--r--include/qpdf/auto_job_c_copy_att.hh4
-rw-r--r--include/qpdf/auto_job_c_enc.hh18
-rw-r--r--include/qpdf/auto_job_c_main.hh64
-rw-r--r--include/qpdf/auto_job_c_uo.hh8
-rw-r--r--include/qpdf/qpdfjob-c.h4
8 files changed, 69 insertions, 64 deletions
diff --git a/include/qpdf/QPDFJob.hh b/include/qpdf/QPDFJob.hh
index e16e5ca1..44ec723c 100644
--- a/include/qpdf/QPDFJob.hh
+++ b/include/qpdf/QPDFJob.hh
@@ -77,7 +77,7 @@ class QPDFJob
// arguments to UTF-8. This method will mutate arguments that are
// passed to it.
QPDF_DLL
- void initializeFromArgv(int argc, char* argv[],
+ void initializeFromArgv(int argc, char const* const argv[],
char const* progname_env = nullptr);
// Initialize a QPDFJob from json. Passing partial = true prevents
@@ -205,7 +205,7 @@ class QPDFJob
QPDF_DLL
Config* endAddAttachment();
QPDF_DLL
- AttConfig* file(char const* parameter);
+ AttConfig* file(std::string const& parameter);
# include <qpdf/auto_job_c_att.hh>
@@ -225,7 +225,7 @@ class QPDFJob
QPDF_DLL
Config* endCopyAttachmentsFrom();
QPDF_DLL
- CopyAttConfig* file(char const* parameter);
+ CopyAttConfig* file(std::string const& parameter);
# include <qpdf/auto_job_c_copy_att.hh>
@@ -266,7 +266,7 @@ class QPDFJob
QPDF_DLL
Config* endUnderlayOverlay();
QPDF_DLL
- UOConfig* file(char const* parameter);
+ UOConfig* file(std::string const& parameter);
# include <qpdf/auto_job_c_uo.hh>
@@ -285,7 +285,7 @@ class QPDFJob
QPDF_DLL
Config* endEncrypt();
QPDF_DLL
- EncConfig* file(char const* parameter);
+ EncConfig* file(std::string const& parameter);
# include <qpdf/auto_job_c_enc.hh>
@@ -305,11 +305,11 @@ class QPDFJob
void checkConfiguration();
QPDF_DLL
- Config* inputFile(char const* filename);
+ Config* inputFile(std::string const& filename);
QPDF_DLL
Config* emptyInput();
QPDF_DLL
- Config* outputFile(char const* filename);
+ Config* outputFile(std::string const& filename);
QPDF_DLL
Config* replaceInput();
diff --git a/include/qpdf/QUtil.hh b/include/qpdf/QUtil.hh
index d23e3f85..bcd0d407 100644
--- a/include/qpdf/QUtil.hh
+++ b/include/qpdf/QUtil.hh
@@ -435,8 +435,13 @@ namespace QUtil
// invoked, convert all UTF-16 encoded strings to UTF-8, and call
// another main.
QPDF_DLL
- int call_main_from_wmain(int argc, wchar_t* argv[],
- std::function<int(int, char*[])> realmain);
+ int call_main_from_wmain(
+ int argc, wchar_t* argv[],
+ std::function<int(int, char*[])> realmain);
+ QPDF_DLL
+ int call_main_from_wmain(
+ int argc, wchar_t const* const argv[],
+ std::function<int(int, char const* const[])> realmain);
#endif // QPDF_NO_WCHAR_T
};
diff --git a/include/qpdf/auto_job_c_att.hh b/include/qpdf/auto_job_c_att.hh
index a65d8908..b94774f5 100644
--- a/include/qpdf/auto_job_c_att.hh
+++ b/include/qpdf/auto_job_c_att.hh
@@ -4,9 +4,9 @@
// run in maintainer mode.
//
QPDF_DLL AttConfig* replace();
-QPDF_DLL AttConfig* key(char const* parameter);
-QPDF_DLL AttConfig* filename(char const* parameter);
-QPDF_DLL AttConfig* creationdate(char const* parameter);
-QPDF_DLL AttConfig* moddate(char const* parameter);
-QPDF_DLL AttConfig* mimetype(char const* parameter);
-QPDF_DLL AttConfig* description(char const* parameter);
+QPDF_DLL AttConfig* key(std::string const& parameter);
+QPDF_DLL AttConfig* filename(std::string const& parameter);
+QPDF_DLL AttConfig* creationdate(std::string const& parameter);
+QPDF_DLL AttConfig* moddate(std::string const& parameter);
+QPDF_DLL AttConfig* mimetype(std::string const& parameter);
+QPDF_DLL AttConfig* description(std::string const& parameter);
diff --git a/include/qpdf/auto_job_c_copy_att.hh b/include/qpdf/auto_job_c_copy_att.hh
index 8049dc6d..e372ab93 100644
--- a/include/qpdf/auto_job_c_copy_att.hh
+++ b/include/qpdf/auto_job_c_copy_att.hh
@@ -3,5 +3,5 @@
// Edits will be automatically overwritten if the build is
// run in maintainer mode.
//
-QPDF_DLL CopyAttConfig* prefix(char const* parameter);
-QPDF_DLL CopyAttConfig* password(char const* parameter);
+QPDF_DLL CopyAttConfig* prefix(std::string const& parameter);
+QPDF_DLL CopyAttConfig* password(std::string const& parameter);
diff --git a/include/qpdf/auto_job_c_enc.hh b/include/qpdf/auto_job_c_enc.hh
index c5b10c6b..fc9e3b53 100644
--- a/include/qpdf/auto_job_c_enc.hh
+++ b/include/qpdf/auto_job_c_enc.hh
@@ -3,16 +3,16 @@
// Edits will be automatically overwritten if the build is
// run in maintainer mode.
//
-QPDF_DLL EncConfig* extract(char const* parameter);
-QPDF_DLL EncConfig* annotate(char const* parameter);
-QPDF_DLL EncConfig* print(char const* parameter);
-QPDF_DLL EncConfig* modify(char const* parameter);
+QPDF_DLL EncConfig* extract(std::string const& parameter);
+QPDF_DLL EncConfig* annotate(std::string const& parameter);
+QPDF_DLL EncConfig* print(std::string const& parameter);
+QPDF_DLL EncConfig* modify(std::string const& parameter);
QPDF_DLL EncConfig* cleartextMetadata();
QPDF_DLL EncConfig* forceV4();
-QPDF_DLL EncConfig* accessibility(char const* parameter);
-QPDF_DLL EncConfig* assemble(char const* parameter);
-QPDF_DLL EncConfig* form(char const* parameter);
-QPDF_DLL EncConfig* modifyOther(char const* parameter);
-QPDF_DLL EncConfig* useAes(char const* parameter);
+QPDF_DLL EncConfig* accessibility(std::string const& parameter);
+QPDF_DLL EncConfig* assemble(std::string const& parameter);
+QPDF_DLL EncConfig* form(std::string const& parameter);
+QPDF_DLL EncConfig* modifyOther(std::string const& parameter);
+QPDF_DLL EncConfig* useAes(std::string const& parameter);
QPDF_DLL EncConfig* forceR5();
QPDF_DLL EncConfig* allowInsecure();
diff --git a/include/qpdf/auto_job_c_main.hh b/include/qpdf/auto_job_c_main.hh
index c3b4f63c..87987443 100644
--- a/include/qpdf/auto_job_c_main.hh
+++ b/include/qpdf/auto_job_c_main.hh
@@ -44,38 +44,38 @@ QPDF_DLL Config* suppressRecovery();
QPDF_DLL Config* verbose();
QPDF_DLL Config* warningExit0();
QPDF_DLL Config* withImages();
-QPDF_DLL Config* compressionLevel(char const* parameter);
-QPDF_DLL Config* copyEncryption(char const* parameter);
-QPDF_DLL Config* encryptionFilePassword(char const* parameter);
-QPDF_DLL Config* forceVersion(char const* parameter);
-QPDF_DLL Config* iiMinBytes(char const* parameter);
-QPDF_DLL Config* jobJsonFile(char const* parameter);
-QPDF_DLL Config* jsonObject(char const* parameter);
-QPDF_DLL Config* keepFilesOpenThreshold(char const* parameter);
-QPDF_DLL Config* linearizePass1(char const* parameter);
-QPDF_DLL Config* minVersion(char const* parameter);
-QPDF_DLL Config* oiMinArea(char const* parameter);
-QPDF_DLL Config* oiMinHeight(char const* parameter);
-QPDF_DLL Config* oiMinWidth(char const* parameter);
-QPDF_DLL Config* password(char const* parameter);
-QPDF_DLL Config* passwordFile(char const* parameter);
-QPDF_DLL Config* removeAttachment(char const* parameter);
-QPDF_DLL Config* rotate(char const* parameter);
-QPDF_DLL Config* showAttachment(char const* parameter);
-QPDF_DLL Config* showObject(char const* parameter);
-QPDF_DLL Config* collate(char const* parameter);
+QPDF_DLL Config* compressionLevel(std::string const& parameter);
+QPDF_DLL Config* copyEncryption(std::string const& parameter);
+QPDF_DLL Config* encryptionFilePassword(std::string const& parameter);
+QPDF_DLL Config* forceVersion(std::string const& parameter);
+QPDF_DLL Config* iiMinBytes(std::string const& parameter);
+QPDF_DLL Config* jobJsonFile(std::string const& parameter);
+QPDF_DLL Config* jsonObject(std::string const& parameter);
+QPDF_DLL Config* keepFilesOpenThreshold(std::string const& parameter);
+QPDF_DLL Config* linearizePass1(std::string const& parameter);
+QPDF_DLL Config* minVersion(std::string const& parameter);
+QPDF_DLL Config* oiMinArea(std::string const& parameter);
+QPDF_DLL Config* oiMinHeight(std::string const& parameter);
+QPDF_DLL Config* oiMinWidth(std::string const& parameter);
+QPDF_DLL Config* password(std::string const& parameter);
+QPDF_DLL Config* passwordFile(std::string const& parameter);
+QPDF_DLL Config* removeAttachment(std::string const& parameter);
+QPDF_DLL Config* rotate(std::string const& parameter);
+QPDF_DLL Config* showAttachment(std::string const& parameter);
+QPDF_DLL Config* showObject(std::string const& parameter);
+QPDF_DLL Config* collate(std::string const& parameter);
QPDF_DLL Config* collate();
-QPDF_DLL Config* splitPages(char const* parameter);
+QPDF_DLL Config* splitPages(std::string const& parameter);
QPDF_DLL Config* splitPages();
-QPDF_DLL Config* compressStreams(char const* parameter);
-QPDF_DLL Config* decodeLevel(char const* parameter);
-QPDF_DLL Config* flattenAnnotations(char const* parameter);
-QPDF_DLL Config* jsonKey(char const* parameter);
-QPDF_DLL Config* keepFilesOpen(char const* parameter);
-QPDF_DLL Config* normalizeContent(char const* parameter);
-QPDF_DLL Config* objectStreams(char const* parameter);
-QPDF_DLL Config* passwordMode(char const* parameter);
-QPDF_DLL Config* removeUnreferencedResources(char const* parameter);
-QPDF_DLL Config* streamData(char const* parameter);
-QPDF_DLL Config* json(char const* parameter);
+QPDF_DLL Config* compressStreams(std::string const& parameter);
+QPDF_DLL Config* decodeLevel(std::string const& parameter);
+QPDF_DLL Config* flattenAnnotations(std::string const& parameter);
+QPDF_DLL Config* jsonKey(std::string const& parameter);
+QPDF_DLL Config* keepFilesOpen(std::string const& parameter);
+QPDF_DLL Config* normalizeContent(std::string const& parameter);
+QPDF_DLL Config* objectStreams(std::string const& parameter);
+QPDF_DLL Config* passwordMode(std::string const& parameter);
+QPDF_DLL Config* removeUnreferencedResources(std::string const& parameter);
+QPDF_DLL Config* streamData(std::string const& parameter);
+QPDF_DLL Config* json(std::string const& parameter);
QPDF_DLL Config* json();
diff --git a/include/qpdf/auto_job_c_uo.hh b/include/qpdf/auto_job_c_uo.hh
index a02cd1f8..3c7585c2 100644
--- a/include/qpdf/auto_job_c_uo.hh
+++ b/include/qpdf/auto_job_c_uo.hh
@@ -3,7 +3,7 @@
// Edits will be automatically overwritten if the build is
// run in maintainer mode.
//
-QPDF_DLL UOConfig* to(char const* parameter);
-QPDF_DLL UOConfig* from(char const* parameter);
-QPDF_DLL UOConfig* repeat(char const* parameter);
-QPDF_DLL UOConfig* password(char const* parameter);
+QPDF_DLL UOConfig* to(std::string const& parameter);
+QPDF_DLL UOConfig* from(std::string const& parameter);
+QPDF_DLL UOConfig* repeat(std::string const& parameter);
+QPDF_DLL UOConfig* password(std::string const& parameter);
diff --git a/include/qpdf/qpdfjob-c.h b/include/qpdf/qpdfjob-c.h
index 59c42822..59d77660 100644
--- a/include/qpdf/qpdfjob-c.h
+++ b/include/qpdf/qpdfjob-c.h
@@ -52,7 +52,7 @@ extern "C" {
* qpdfjob_run_from_wide_argv instead.
*/
QPDF_DLL
- int qpdfjob_run_from_argv(int argc, char* argv[]);
+ int qpdfjob_run_from_argv(int argc, char const* const argv[]);
#ifndef QPDF_NO_WCHAR_T
/* This function is the same as qpdfjob_run_from_argv except argv
@@ -60,7 +60,7 @@ extern "C" {
* calling from a Windows wmain function.
*/
QPDF_DLL
- int qpdfjob_run_from_wide_argv(int argc, wchar_t* argv[]);
+ int qpdfjob_run_from_wide_argv(int argc, wchar_t const* const argv[]);
#endif /* QPDF_NO_WCHAR_T */
/* This function runs QPDFJob from a job JSON file. See the "QPDF