aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-01-25 12:58:15 +0100
committerJay Berkenbilt <ejb@ql.org>2022-01-30 19:11:03 +0100
commitf60526aff93ef1049242b215a9f247dca4c7f99e (patch)
tree858ac0db3cfa9b9c1b3ff724d7dbaf10a6325fd5 /libqpdf
parentb4b0df0df98f44483215c4658f1697282080eebf (diff)
downloadqpdf-f60526aff93ef1049242b215a9f247dca4c7f99e.tar.zst
QPDFJob: start changing generation for trivial config handlers
Diffstat (limited to 'libqpdf')
-rw-r--r--libqpdf/QPDFJob_argv.cc455
-rw-r--r--libqpdf/qpdf/auto_job_decl.hh65
-rw-r--r--libqpdf/qpdf/auto_job_init.hh130
3 files changed, 65 insertions, 585 deletions
diff --git a/libqpdf/QPDFJob_argv.cc b/libqpdf/QPDFJob_argv.cc
index 81297e85..1adb34ee 100644
--- a/libqpdf/QPDFJob_argv.cc
+++ b/libqpdf/QPDFJob_argv.cc
@@ -216,20 +216,6 @@ ArgParser::argPasswordFile(char* parameter)
}
void
-ArgParser::argEmpty()
-{
- // QXXXQ @TRIVIAL
- jc.empty();
-}
-
-void
-ArgParser::argLinearize()
-{
- // QXXXQ @TRIVIAL
- jc.linearize();
-}
-
-void
ArgParser::argEncrypt()
{
this->accumulated_args.clear();
@@ -288,27 +274,6 @@ ArgParser::argEncPositional(char* arg)
}
void
-ArgParser::argDecrypt()
-{
- // QXXXQ @TRIVIAL
- jc.decrypt();
-}
-
-void
-ArgParser::argPasswordIsHexKey()
-{
- // QXXXQ @TRIVIAL
- jc.passwordIsHexKey();
-}
-
-void
-ArgParser::argSuppressPasswordRecovery()
-{
- // QXXXQ @TRIVIAL
- jc.suppressPasswordRecovery();
-}
-
-void
ArgParser::argPasswordMode(char* parameter)
{
if (strcmp(parameter, "bytes") == 0)
@@ -340,34 +305,6 @@ ArgParser::argEnc256AllowInsecure()
}
void
-ArgParser::argAllowWeakCrypto()
-{
- // QXXXQ @TRIVIAL
- jc.allowWeakCrypto();
-}
-
-void
-ArgParser::argCopyEncryption(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.copyEncryption(parameter);
-}
-
-void
-ArgParser::argEncryptionFilePassword(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.encryptionFilePassword(parameter);
-}
-
-void
-ArgParser::argCollate(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.collate(parameter);
-}
-
-void
ArgParser::argPages()
{
if (! o.page_specs.empty())
@@ -505,34 +442,6 @@ ArgParser::argRotate(char* parameter)
}
void
-ArgParser::argFlattenRotation()
-{
- // QXXXQ @TRIVIAL
- jc.flattenRotation();
-}
-
-void
-ArgParser::argListAttachments()
-{
- // QXXXQ @TRIVIAL
- jc.listAttachments();
-}
-
-void
-ArgParser::argShowAttachment(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.showAttachment(parameter);
-}
-
-void
-ArgParser::argRemoveAttachment(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.removeAttachment(parameter);
-}
-
-void
ArgParser::argAddAttachment()
{
o.attachments_to_add.push_back(QPDFJob::AddAttachment());
@@ -571,27 +480,6 @@ ArgParser::argStreamData(char* parameter)
}
void
-ArgParser::argCompressStreams(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.compressStreams(parameter);
-}
-
-void
-ArgParser::argRecompressFlate()
-{
- // QXXXQ @TRIVIAL
- jc.recompressFlate();
-}
-
-void
-ArgParser::argCompressionLevel(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.compressionLevel(parameter);
-}
-
-void
ArgParser::argDecodeLevel(char* parameter)
{
o.decode_level_set = true;
@@ -620,20 +508,6 @@ ArgParser::argDecodeLevel(char* parameter)
}
void
-ArgParser::argNormalizeContent(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.normalizeContent(parameter);
-}
-
-void
-ArgParser::argSuppressRecovery()
-{
- // QXXXQ @TRIVIAL
- jc.suppressRecovery();
-}
-
-void
ArgParser::argObjectStreams(char* parameter)
{
o.object_stream_set = true;
@@ -658,34 +532,6 @@ ArgParser::argObjectStreams(char* parameter)
}
void
-ArgParser::argIgnoreXrefStreams()
-{
- // QXXXQ @TRIVIAL
- jc.ignoreXrefStreams();
-}
-
-void
-ArgParser::argQdf()
-{
- // QXXXQ @TRIVIAL
- jc.qdf();
-}
-
-void
-ArgParser::argPreserveUnreferenced()
-{
- // QXXXQ @TRIVIAL
- jc.preserveUnreferenced();
-}
-
-void
-ArgParser::argPreserveUnreferencedResources()
-{
- // QXXXQ @TRIVIAL
- jc.preserveUnreferencedResources();
-}
-
-void
ArgParser::argRemoveUnreferencedResources(char* parameter)
{
if (strcmp(parameter, "auto") == 0)
@@ -709,167 +555,6 @@ ArgParser::argRemoveUnreferencedResources(char* parameter)
}
void
-ArgParser::argKeepFilesOpen(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.keepFilesOpen(parameter);
-}
-
-void
-ArgParser::argKeepFilesOpenThreshold(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.keepFilesOpenThreshold(parameter);
-}
-
-void
-ArgParser::argNewlineBeforeEndstream()
-{
- // QXXXQ @TRIVIAL
- jc.newlineBeforeEndstream();
-}
-
-void
-ArgParser::argLinearizePass1(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.linearizePass1(parameter);
-}
-
-void
-ArgParser::argCoalesceContents()
-{
- // QXXXQ @TRIVIAL
- jc.coalesceContents();
-}
-
-void
-ArgParser::argFlattenAnnotations(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.flattenAnnotations(parameter);
-}
-
-void
-ArgParser::argGenerateAppearances()
-{
- // QXXXQ @TRIVIAL
- jc.generateAppearances();
-}
-
-void
-ArgParser::argMinVersion(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.minVersion(parameter);
-}
-
-void
-ArgParser::argForceVersion(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.forceVersion(parameter);
-}
-
-void
-ArgParser::argSplitPages(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.splitPages(parameter);
-}
-
-void
-ArgParser::argVerbose()
-{
- // QXXXQ @TRIVIAL
- jc.verbose();
-}
-
-void
-ArgParser::argProgress()
-{
- // QXXXQ @TRIVIAL
- jc.progress();
-}
-
-void
-ArgParser::argNoWarn()
-{
- // QXXXQ @TRIVIAL
- jc.noWarn();
-}
-
-void
-ArgParser::argWarningExit0()
-{
- // QXXXQ @TRIVIAL
- jc.warningExit0();
-}
-
-void
-ArgParser::argDeterministicId()
-{
- // QXXXQ @TRIVIAL
- jc.deterministicId();
-}
-
-void
-ArgParser::argStaticId()
-{
- // QXXXQ @TRIVIAL
- jc.staticId();
-}
-
-void
-ArgParser::argStaticAesIv()
-{
- // QXXXQ @TRIVIAL
- jc.staticAesIv();
-}
-
-void
-ArgParser::argNoOriginalObjectIds()
-{
- // QXXXQ @TRIVIAL
- jc.noOriginalObjectIds();
-}
-
-void
-ArgParser::argShowEncryption()
-{
- // QXXXQ @TRIVIAL
- jc.showEncryption();
-}
-
-void
-ArgParser::argShowEncryptionKey()
-{
- // QXXXQ @TRIVIAL
- jc.showEncryptionKey();
-}
-
-void
-ArgParser::argCheckLinearization()
-{
- // QXXXQ @TRIVIAL
- jc.checkLinearization();
-}
-
-void
-ArgParser::argShowLinearization()
-{
- // QXXXQ @TRIVIAL
- jc.showLinearization();
-}
-
-void
-ArgParser::argShowXref()
-{
- // QXXXQ @TRIVIAL
- jc.showXref();
-}
-
-void
ArgParser::argShowObject(char* parameter)
{
QPDFJob::parse_object_id(parameter, o.show_trailer, o.show_obj, o.show_gen);
@@ -877,125 +562,6 @@ ArgParser::argShowObject(char* parameter)
}
void
-ArgParser::argRawStreamData()
-{
- // QXXXQ @TRIVIAL
- jc.rawStreamData();
-}
-
-void
-ArgParser::argFilteredStreamData()
-{
- // QXXXQ @TRIVIAL
- jc.filteredStreamData();
-}
-
-void
-ArgParser::argShowNpages()
-{
- // QXXXQ @TRIVIAL
- jc.showNpages();
-}
-
-void
-ArgParser::argShowPages()
-{
- // QXXXQ @TRIVIAL
- jc.showPages();
-}
-
-void
-ArgParser::argWithImages()
-{
- // QXXXQ @TRIVIAL
- jc.withImages();
-}
-
-void
-ArgParser::argJson()
-{
- // QXXXQ @TRIVIAL
- jc.json();
-}
-
-void
-ArgParser::argJsonKey(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.jsonKey(parameter);
-}
-
-void
-ArgParser::argJsonObject(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.jsonObject(parameter);
-}
-
-void
-ArgParser::argCheck()
-{
- // QXXXQ @TRIVIAL
- jc.check();
-}
-
-void
-ArgParser::argOptimizeImages()
-{
- // QXXXQ @TRIVIAL
- jc.optimizeImages();
-}
-
-void
-ArgParser::argExternalizeInlineImages()
-{
- // QXXXQ @TRIVIAL
- jc.externalizeInlineImages();
-}
-
-void
-ArgParser::argKeepInlineImages()
-{
- // QXXXQ @TRIVIAL
- jc.keepInlineImages();
-}
-
-void
-ArgParser::argRemovePageLabels()
-{
- // QXXXQ @TRIVIAL
- jc.removePageLabels();
-}
-
-void
-ArgParser::argOiMinWidth(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.oiMinWidth(parameter);
-}
-
-void
-ArgParser::argOiMinHeight(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.oiMinHeight(parameter);
-}
-
-void
-ArgParser::argOiMinArea(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.oiMinArea(parameter);
-}
-
-void
-ArgParser::argIiMinBytes(char* parameter)
-{
- // QXXXQ @TRIVIAL
- jc.iiMinBytes(parameter);
-}
-
-void
ArgParser::argEnc40Print(char* parameter)
{
o.r2_print = (strcmp(parameter, "y") == 0);
@@ -1227,27 +793,6 @@ ArgParser::argEndUnderlayOverlay()
}
void
-ArgParser::argReplaceInput()
-{
- // QXXXQ @TRIVIAL
- jc.replaceInput();
-}
-
-void
-ArgParser::argIsEncrypted()
-{
- // QXXXQ @TRIVIAL
- jc.isEncrypted();
-}
-
-void
-ArgParser::argRequiresPassword()
-{
- // QXXXQ @TRIVIAL
- jc.requiresPassword();
-}
-
-void
ArgParser::argAttPositional(char* arg)
{
o.attachments_to_add.back().path = arg;
diff --git a/libqpdf/qpdf/auto_job_decl.hh b/libqpdf/qpdf/auto_job_decl.hh
index 6d5c8228..b63251b9 100644
--- a/libqpdf/qpdf/auto_job_decl.hh
+++ b/libqpdf/qpdf/auto_job_decl.hh
@@ -19,82 +19,17 @@ void argShowCrypto();
void argJobJsonHelp();
void argPositional(char*);
void argAddAttachment();
-void argAllowWeakCrypto();
-void argCheck();
-void argCheckLinearization();
-void argCoalesceContents();
void argCopyAttachmentsFrom();
-void argDecrypt();
-void argDeterministicId();
-void argEmpty();
void argEncrypt();
-void argExternalizeInlineImages();
-void argFilteredStreamData();
-void argFlattenRotation();
-void argGenerateAppearances();
-void argIgnoreXrefStreams();
-void argIsEncrypted();
-void argJson();
-void argKeepInlineImages();
-void argLinearize();
-void argListAttachments();
-void argNewlineBeforeEndstream();
-void argNoOriginalObjectIds();
-void argNoWarn();
-void argOptimizeImages();
void argOverlay();
void argPages();
-void argPasswordIsHexKey();
-void argPreserveUnreferenced();
-void argPreserveUnreferencedResources();
-void argProgress();
-void argQdf();
-void argRawStreamData();
-void argRecompressFlate();
-void argRemovePageLabels();
-void argReplaceInput();
-void argRequiresPassword();
-void argShowEncryption();
-void argShowEncryptionKey();
-void argShowLinearization();
-void argShowNpages();
-void argShowPages();
-void argShowXref();
-void argStaticAesIv();
-void argStaticId();
-void argSuppressPasswordRecovery();
-void argSuppressRecovery();
void argUnderlay();
-void argVerbose();
-void argWarningExit0();
-void argWithImages();
-void argCollate(char *);
-void argSplitPages(char *);
-void argCompressionLevel(char *);
-void argCopyEncryption(char *);
-void argEncryptionFilePassword(char *);
-void argForceVersion(char *);
-void argIiMinBytes(char *);
void argJobJsonFile(char *);
-void argJsonObject(char *);
-void argKeepFilesOpenThreshold(char *);
-void argLinearizePass1(char *);
-void argMinVersion(char *);
-void argOiMinArea(char *);
-void argOiMinHeight(char *);
-void argOiMinWidth(char *);
void argPassword(char *);
void argPasswordFile(char *);
-void argRemoveAttachment(char *);
void argRotate(char *);
-void argShowAttachment(char *);
void argShowObject(char *);
-void argCompressStreams(char *);
void argDecodeLevel(char *);
-void argFlattenAnnotations(char *);
-void argJsonKey(char *);
-void argKeepFilesOpen(char *);
-void argNormalizeContent(char *);
void argObjectStreams(char *);
void argPasswordMode(char *);
void argRemoveUnreferencedResources(char *);
diff --git a/libqpdf/qpdf/auto_job_init.hh b/libqpdf/qpdf/auto_job_init.hh
index f9de9f90..d1630014 100644
--- a/libqpdf/qpdf/auto_job_init.hh
+++ b/libqpdf/qpdf/auto_job_init.hh
@@ -30,82 +30,82 @@ this->ap.addBare("job-json-help", b(&ArgParser::argJobJsonHelp));
this->ap.selectMainOptionTable();
this->ap.addPositional(p(&ArgParser::argPositional));
this->ap.addBare("add-attachment", b(&ArgParser::argAddAttachment));
-this->ap.addBare("allow-weak-crypto", b(&ArgParser::argAllowWeakCrypto));
-this->ap.addBare("check", b(&ArgParser::argCheck));
-this->ap.addBare("check-linearization", b(&ArgParser::argCheckLinearization));
-this->ap.addBare("coalesce-contents", b(&ArgParser::argCoalesceContents));
+this->ap.addBare("allow-weak-crypto", [this](){jc.allowWeakCrypto();});
+this->ap.addBare("check", [this](){jc.check();});
+this->ap.addBare("check-linearization", [this](){jc.checkLinearization();});
+this->ap.addBare("coalesce-contents", [this](){jc.coalesceContents();});
this->ap.addBare("copy-attachments-from", b(&ArgParser::argCopyAttachmentsFrom));
-this->ap.addBare("decrypt", b(&ArgParser::argDecrypt));
-this->ap.addBare("deterministic-id", b(&ArgParser::argDeterministicId));
-this->ap.addBare("empty", b(&ArgParser::argEmpty));
+this->ap.addBare("decrypt", [this](){jc.decrypt();});
+this->ap.addBare("deterministic-id", [this](){jc.deterministicId();});
+this->ap.addBare("empty", [this](){jc.empty();});
this->ap.addBare("encrypt", b(&ArgParser::argEncrypt));
-this->ap.addBare("externalize-inline-images", b(&ArgParser::argExternalizeInlineImages));
-this->ap.addBare("filtered-stream-data", b(&ArgParser::argFilteredStreamData));
-this->ap.addBare("flatten-rotation", b(&ArgParser::argFlattenRotation));
-this->ap.addBare("generate-appearances", b(&ArgParser::argGenerateAppearances));
-this->ap.addBare("ignore-xref-streams", b(&ArgParser::argIgnoreXrefStreams));
-this->ap.addBare("is-encrypted", b(&ArgParser::argIsEncrypted));
-this->ap.addBare("json", b(&ArgParser::argJson));
-this->ap.addBare("keep-inline-images", b(&ArgParser::argKeepInlineImages));
-this->ap.addBare("linearize", b(&ArgParser::argLinearize));
-this->ap.addBare("list-attachments", b(&ArgParser::argListAttachments));
-this->ap.addBare("newline-before-endstream", b(&ArgParser::argNewlineBeforeEndstream));
-this->ap.addBare("no-original-object-ids", b(&ArgParser::argNoOriginalObjectIds));
-this->ap.addBare("no-warn", b(&ArgParser::argNoWarn));
-this->ap.addBare("optimize-images", b(&ArgParser::argOptimizeImages));
+this->ap.addBare("externalize-inline-images", [this](){jc.externalizeInlineImages();});
+this->ap.addBare("filtered-stream-data", [this](){jc.filteredStreamData();});
+this->ap.addBare("flatten-rotation", [this](){jc.flattenRotation();});
+this->ap.addBare("generate-appearances", [this](){jc.generateAppearances();});
+this->ap.addBare("ignore-xref-streams", [this](){jc.ignoreXrefStreams();});
+this->ap.addBare("is-encrypted", [this](){jc.isEncrypted();});
+this->ap.addBare("json", [this](){jc.json();});
+this->ap.addBare("keep-inline-images", [this](){jc.keepInlineImages();});
+this->ap.addBare("linearize", [this](){jc.linearize();});
+this->ap.addBare("list-attachments", [this](){jc.listAttachments();});
+this->ap.addBare("newline-before-endstream", [this](){jc.newlineBeforeEndstream();});
+this->ap.addBare("no-original-object-ids", [this](){jc.noOriginalObjectIds();});
+this->ap.addBare("no-warn", [this](){jc.noWarn();});
+this->ap.addBare("optimize-images", [this](){jc.optimizeImages();});
this->ap.addBare("overlay", b(&ArgParser::argOverlay));
this->ap.addBare("pages", b(&ArgParser::argPages));
-this->ap.addBare("password-is-hex-key", b(&ArgParser::argPasswordIsHexKey));
-this->ap.addBare("preserve-unreferenced", b(&ArgParser::argPreserveUnreferenced));
-this->ap.addBare("preserve-unreferenced-resources", b(&ArgParser::argPreserveUnreferencedResources));
-this->ap.addBare("progress", b(&ArgParser::argProgress));
-this->ap.addBare("qdf", b(&ArgParser::argQdf));
-this->ap.addBare("raw-stream-data", b(&ArgParser::argRawStreamData));
-this->ap.addBare("recompress-flate", b(&ArgParser::argRecompressFlate));
-this->ap.addBare("remove-page-labels", b(&ArgParser::argRemovePageLabels));
-this->ap.addBare("replace-input", b(&ArgParser::argReplaceInput));
-this->ap.addBare("requires-password", b(&ArgParser::argRequiresPassword));
-this->ap.addBare("show-encryption", b(&ArgParser::argShowEncryption));
-this->ap.addBare("show-encryption-key", b(&ArgParser::argShowEncryptionKey));
-this->ap.addBare("show-linearization", b(&ArgParser::argShowLinearization));
-this->ap.addBare("show-npages", b(&ArgParser::argShowNpages));
-this->ap.addBare("show-pages", b(&ArgParser::argShowPages));
-this->ap.addBare("show-xref", b(&ArgParser::argShowXref));
-this->ap.addBare("static-aes-iv", b(&ArgParser::argStaticAesIv));
-this->ap.addBare("static-id", b(&ArgParser::argStaticId));
-this->ap.addBare("suppress-password-recovery", b(&ArgParser::argSuppressPasswordRecovery));
-this->ap.addBare("suppress-recovery", b(&ArgParser::argSuppressRecovery));
+this->ap.addBare("password-is-hex-key", [this](){jc.passwordIsHexKey();});
+this->ap.addBare("preserve-unreferenced", [this](){jc.preserveUnreferenced();});
+this->ap.addBare("preserve-unreferenced-resources", [this](){jc.preserveUnreferencedResources();});
+this->ap.addBare("progress", [this](){jc.progress();});
+this->ap.addBare("qdf", [this](){jc.qdf();});
+this->ap.addBare("raw-stream-data", [this](){jc.rawStreamData();});
+this->ap.addBare("recompress-flate", [this](){jc.recompressFlate();});
+this->ap.addBare("remove-page-labels", [this](){jc.removePageLabels();});
+this->ap.addBare("replace-input", [this](){jc.replaceInput();});
+this->ap.addBare("requires-password", [this](){jc.requiresPassword();});
+this->ap.addBare("show-encryption", [this](){jc.showEncryption();});
+this->ap.addBare("show-encryption-key", [this](){jc.showEncryptionKey();});
+this->ap.addBare("show-linearization", [this](){jc.showLinearization();});
+this->ap.addBare("show-npages", [this](){jc.showNpages();});
+this->ap.addBare("show-pages", [this](){jc.showPages();});
+this->ap.addBare("show-xref", [this](){jc.showXref();});
+this->ap.addBare("static-aes-iv", [this](){jc.staticAesIv();});
+this->ap.addBare("static-id", [this](){jc.staticId();});
+this->ap.addBare("suppress-password-recovery", [this](){jc.suppressPasswordRecovery();});
+this->ap.addBare("suppress-recovery", [this](){jc.suppressRecovery();});
this->ap.addBare("underlay", b(&ArgParser::argUnderlay));
-this->ap.addBare("verbose", b(&ArgParser::argVerbose));
-this->ap.addBare("warning-exit-0", b(&ArgParser::argWarningExit0));
-this->ap.addBare("with-images", b(&ArgParser::argWithImages));
-this->ap.addOptionalParameter("collate", p(&ArgParser::argCollate));
-this->ap.addOptionalParameter("split-pages", p(&ArgParser::argSplitPages));
-this->ap.addRequiredParameter("compression-level", p(&ArgParser::argCompressionLevel), "level");
-this->ap.addRequiredParameter("copy-encryption", p(&ArgParser::argCopyEncryption), "file");
-this->ap.addRequiredParameter("encryption-file-password", p(&ArgParser::argEncryptionFilePassword), "password");
-this->ap.addRequiredParameter("force-version", p(&ArgParser::argForceVersion), "version");
-this->ap.addRequiredParameter("ii-min-bytes", p(&ArgParser::argIiMinBytes), "minimum");
+this->ap.addBare("verbose", [this](){jc.verbose();});
+this->ap.addBare("warning-exit-0", [this](){jc.warningExit0();});
+this->ap.addBare("with-images", [this](){jc.withImages();});
+this->ap.addOptionalParameter("collate", [this](char *x){jc.collate(x);});
+this->ap.addOptionalParameter("split-pages", [this](char *x){jc.splitPages(x);});
+this->ap.addRequiredParameter("compression-level", [this](char *x){jc.compressionLevel(x);}, "level");
+this->ap.addRequiredParameter("copy-encryption", [this](char *x){jc.copyEncryption(x);}, "file");
+this->ap.addRequiredParameter("encryption-file-password", [this](char *x){jc.encryptionFilePassword(x);}, "password");
+this->ap.addRequiredParameter("force-version", [this](char *x){jc.forceVersion(x);}, "version");
+this->ap.addRequiredParameter("ii-min-bytes", [this](char *x){jc.iiMinBytes(x);}, "minimum");
this->ap.addRequiredParameter("job-json-file", p(&ArgParser::argJobJsonFile), "file");
-this->ap.addRequiredParameter("json-object", p(&ArgParser::argJsonObject), "trailer");
-this->ap.addRequiredParameter("keep-files-open-threshold", p(&ArgParser::argKeepFilesOpenThreshold), "count");
-this->ap.addRequiredParameter("linearize-pass1", p(&ArgParser::argLinearizePass1), "filename");
-this->ap.addRequiredParameter("min-version", p(&ArgParser::argMinVersion), "version");
-this->ap.addRequiredParameter("oi-min-area", p(&ArgParser::argOiMinArea), "minimum");
-this->ap.addRequiredParameter("oi-min-height", p(&ArgParser::argOiMinHeight), "minimum");
-this->ap.addRequiredParameter("oi-min-width", p(&ArgParser::argOiMinWidth), "minimum");
+this->ap.addRequiredParameter("json-object", [this](char *x){jc.jsonObject(x);}, "trailer");
+this->ap.addRequiredParameter("keep-files-open-threshold", [this](char *x){jc.keepFilesOpenThreshold(x);}, "count");
+this->ap.addRequiredParameter("linearize-pass1", [this](char *x){jc.linearizePass1(x);}, "filename");
+this->ap.addRequiredParameter("min-version", [this](char *x){jc.minVersion(x);}, "version");
+this->ap.addRequiredParameter("oi-min-area", [this](char *x){jc.oiMinArea(x);}, "minimum");
+this->ap.addRequiredParameter("oi-min-height", [this](char *x){jc.oiMinHeight(x);}, "minimum");
+this->ap.addRequiredParameter("oi-min-width", [this](char *x){jc.oiMinWidth(x);}, "minimum");
this->ap.addRequiredParameter("password", p(&ArgParser::argPassword), "password");
this->ap.addRequiredParameter("password-file", p(&ArgParser::argPasswordFile), "password");
-this->ap.addRequiredParameter("remove-attachment", p(&ArgParser::argRemoveAttachment), "attachment");
+this->ap.addRequiredParameter("remove-attachment", [this](char *x){jc.removeAttachment(x);}, "attachment");
this->ap.addRequiredParameter("rotate", p(&ArgParser::argRotate), "[+|-]angle");
-this->ap.addRequiredParameter("show-attachment", p(&ArgParser::argShowAttachment), "attachment");
+this->ap.addRequiredParameter("show-attachment", [this](char *x){jc.showAttachment(x);}, "attachment");
this->ap.addRequiredParameter("show-object", p(&ArgParser::argShowObject), "trailer");
-this->ap.addChoices("compress-streams", p(&ArgParser::argCompressStreams), true, yn_choices);
+this->ap.addChoices("compress-streams", [this](char *x){jc.compressStreams(x);}, true, yn_choices);
this->ap.addChoices("decode-level", p(&ArgParser::argDecodeLevel), true, decode_level_choices);
-this->ap.addChoices("flatten-annotations", p(&ArgParser::argFlattenAnnotations), true, flatten_choices);
-this->ap.addChoices("json-key", p(&ArgParser::argJsonKey), true, json_key_choices);
-this->ap.addChoices("keep-files-open", p(&ArgParser::argKeepFilesOpen), true, yn_choices);
-this->ap.addChoices("normalize-content", p(&ArgParser::argNormalizeContent), true, yn_choices);
+this->ap.addChoices("flatten-annotations", [this](char *x){jc.flattenAnnotations(x);}, true, flatten_choices);
+this->ap.addChoices("json-key", [this](char *x){jc.jsonKey(x);}, true, json_key_choices);
+this->ap.addChoices("keep-files-open", [this](char *x){jc.keepFilesOpen(x);}, true, yn_choices);
+this->ap.addChoices("normalize-content", [this](char *x){jc.normalizeContent(x);}, true, yn_choices);
this->ap.addChoices("object-streams", p(&ArgParser::argObjectStreams), true, object_streams_choices);
this->ap.addChoices("password-mode", p(&ArgParser::argPasswordMode), true, password_mode_choices);
this->ap.addChoices("remove-unreferenced-resources", p(&ArgParser::argRemoveUnreferencedResources), true, remove_unref_choices);