Commit c3e9b64e7fde8499f8543503bdfeeeb65512dcd7
1 parent
6e70d99b
QPDFJob increment: generate handler declarations
Showing
5 changed files
with
271 additions
and
238 deletions
generate_auto_job
| @@ -93,8 +93,12 @@ class Main: | @@ -93,8 +93,12 @@ class Main: | ||
| 93 | with open('job.yml', 'r') as f: | 93 | with open('job.yml', 'r') as f: |
| 94 | data = yaml.safe_load(f.read()) | 94 | data = yaml.safe_load(f.read()) |
| 95 | self.validate(data) | 95 | self.validate(data) |
| 96 | - self.generate_decl(data) | ||
| 97 | - self.generate_init(data) | 96 | + with open(self.DESTS['decl'], 'w') as f: |
| 97 | + print(BANNER, file=f) | ||
| 98 | + self.generate_decl(data, f) | ||
| 99 | + with open(self.DESTS['init'], 'w') as f: | ||
| 100 | + print(BANNER, file=f) | ||
| 101 | + self.generate_init(data, f) | ||
| 98 | 102 | ||
| 99 | # Update hashes last to ensure that this will be rerun in the | 103 | # Update hashes last to ensure that this will be rerun in the |
| 100 | # event of a failure. | 104 | # event of a failure. |
| @@ -113,7 +117,7 @@ class Main: | @@ -113,7 +117,7 @@ class Main: | ||
| 113 | self.check_keys('top', data, set(['choices', 'options'])) | 117 | self.check_keys('top', data, set(['choices', 'options'])) |
| 114 | for o in data['options']: | 118 | for o in data['options']: |
| 115 | self.check_keys('top', o, set( | 119 | self.check_keys('top', o, set( |
| 116 | - ['table', 'bare', 'positional', | 120 | + ['table', 'prefix', 'bare', 'positional', |
| 117 | 'optional_parameter', 'required_parameter', | 121 | 'optional_parameter', 'required_parameter', |
| 118 | 'required_choices', 'from_table'])) | 122 | 'required_choices', 'from_table'])) |
| 119 | 123 | ||
| @@ -123,28 +127,46 @@ class Main: | @@ -123,28 +127,46 @@ class Main: | ||
| 123 | identifier = identifier.upper() | 127 | identifier = identifier.upper() |
| 124 | else: | 128 | else: |
| 125 | identifier = identifier.lower() | 129 | identifier = identifier.lower() |
| 126 | - identifier = re.sub('_([a-z])', lambda x: x.group(1).upper(), | ||
| 127 | - identifier) | 130 | + identifier = re.sub(r'(?:^|_)([a-z])', |
| 131 | + lambda x: x.group(1).upper(), | ||
| 132 | + identifier).replace('_', '') | ||
| 128 | return prefix + identifier | 133 | return prefix + identifier |
| 129 | 134 | ||
| 130 | - def generate_decl(self, data): | ||
| 131 | - with open(self.DESTS['decl'], 'w') as f: | ||
| 132 | - print(BANNER, file=f) | ||
| 133 | - for o in data['options']: | ||
| 134 | - table = o['table'] | ||
| 135 | - if table in ('main', 'help'): | ||
| 136 | - continue | ||
| 137 | - i = self.to_identifier(table, 'O_', True) | ||
| 138 | - print(f'static constexpr char const* {i} = "{table}";', file=f) | ||
| 139 | - | ||
| 140 | - def generate_init(self, data): | ||
| 141 | - with open(self.DESTS['init'], 'w') as f: | ||
| 142 | - print(BANNER, file=f) | ||
| 143 | - for k, v in data['choices'].items(): | ||
| 144 | - print(f'char const* {k}_choices[] = {{', file=f, end='') | ||
| 145 | - for i in v: | ||
| 146 | - print(f'"{i}", ', file=f, end='') | ||
| 147 | - print('0};', file=f) | 135 | + def generate_decl(self, data, f): |
| 136 | + for o in data['options']: | ||
| 137 | + table = o['table'] | ||
| 138 | + if table in ('main', 'help'): | ||
| 139 | + continue | ||
| 140 | + i = self.to_identifier(table, 'O_', True) | ||
| 141 | + print(f'static constexpr char const* {i} = "{table}";', file=f) | ||
| 142 | + print('', file=f) | ||
| 143 | + for o in data['options']: | ||
| 144 | + table = o['table'] | ||
| 145 | + prefix = 'arg' + o.get('prefix', '') | ||
| 146 | + if o.get('positional', False): | ||
| 147 | + print(f'void {prefix}Positional(char*);', file=f) | ||
| 148 | + for i in o.get('bare', []): | ||
| 149 | + identifier = self.to_identifier(i, prefix, False) | ||
| 150 | + print(f'void {identifier}();', file=f) | ||
| 151 | + for i in o.get('optional_parameter', []): | ||
| 152 | + identifier = self.to_identifier(i, prefix, False) | ||
| 153 | + print(f'void {identifier}(char *);', file=f) | ||
| 154 | + for i in o.get('required_parameter', {}): | ||
| 155 | + identifier = self.to_identifier(i, prefix, False) | ||
| 156 | + print(f'void {identifier}(char *);', file=f) | ||
| 157 | + for i in o.get('required_choices', {}): | ||
| 158 | + identifier = self.to_identifier(i, prefix, False) | ||
| 159 | + print(f'void {identifier}(char *);', file=f) | ||
| 160 | + if table not in ('main', 'help'): | ||
| 161 | + identifier = self.to_identifier(table, 'argEnd', False) | ||
| 162 | + print(f'void {identifier}();', file=f) | ||
| 163 | + | ||
| 164 | + def generate_init(self, data, f): | ||
| 165 | + for k, v in data['choices'].items(): | ||
| 166 | + print(f'char const* {k}_choices[] = {{', file=f, end='') | ||
| 167 | + for i in v: | ||
| 168 | + print(f'"{i}", ', file=f, end='') | ||
| 169 | + print('0};', file=f) | ||
| 148 | 170 | ||
| 149 | 171 | ||
| 150 | if __name__ == '__main__': | 172 | if __name__ == '__main__': |
job.sums
| 1 | # Generated by generate_auto_job | 1 | # Generated by generate_auto_job |
| 2 | -generate_auto_job 82410a924077d975acc27240f7b167cd32e1c358b8b2ea40161e607ee2ac0599 | ||
| 3 | -job.yml 8c66b75eb06be65dfa40058a52cbc0bc18627a3aade5b3d4e034543605c93298 | ||
| 4 | -libqpdf/qpdf/auto_job_decl.hh b098ee02ec853f47850b6421cc72b08c608f303f74f01d0b3ce3df52cecd5ffa | 2 | +generate_auto_job 52a5e6bc70375e1183fedd5865ae4eae2a10be8d80edede1c48f9946be5d2538 |
| 3 | +job.yml b4d230c46ca2b2e75b3b974e2d9ad21fb007eb5007d05cf249ae1e2cde81040c | ||
| 4 | +libqpdf/qpdf/auto_job_decl.hh fca37543c1a2b7f675374e23b1ab34b30a7f5f2d843c53d4bc7e9a12bf4c3615 | ||
| 5 | libqpdf/qpdf/auto_job_init.hh 0640167b8d550030c086851408b842e2a93c86577253d78f1b7d41d4ca695bd9 | 5 | libqpdf/qpdf/auto_job_init.hh 0640167b8d550030c086851408b842e2a93c86577253d78f1b7d41d4ca695bd9 |
job.yml
| @@ -143,18 +143,22 @@ options: | @@ -143,18 +143,22 @@ options: | ||
| 143 | remove-unreferenced-resources: remove_unref | 143 | remove-unreferenced-resources: remove_unref |
| 144 | stream-data: stream_data | 144 | stream-data: stream_data |
| 145 | - table: pages | 145 | - table: pages |
| 146 | + prefix: Pages | ||
| 146 | positional: true | 147 | positional: true |
| 147 | required_parameter: | 148 | required_parameter: |
| 148 | - - password: password | 149 | + password: password |
| 149 | - table: encryption | 150 | - table: encryption |
| 151 | + prefix: Enc | ||
| 150 | positional: true | 152 | positional: true |
| 151 | - table: 40-bit encryption | 153 | - table: 40-bit encryption |
| 154 | + prefix: Enc40 | ||
| 152 | required_choices: | 155 | required_choices: |
| 153 | extract: yn | 156 | extract: yn |
| 154 | annotate: yn | 157 | annotate: yn |
| 155 | print: yn | 158 | print: yn |
| 156 | modify: yn | 159 | modify: yn |
| 157 | - table: 128-bit encryption | 160 | - table: 128-bit encryption |
| 161 | + prefix: Enc128 | ||
| 158 | bare: | 162 | bare: |
| 159 | - cleartext-metadata | 163 | - cleartext-metadata |
| 160 | - force-V4 | 164 | - force-V4 |
| @@ -169,6 +173,7 @@ options: | @@ -169,6 +173,7 @@ options: | ||
| 169 | modify: modify128_choices | 173 | modify: modify128_choices |
| 170 | use-aes: yn | 174 | use-aes: yn |
| 171 | - table: 256-bit encryption | 175 | - table: 256-bit encryption |
| 176 | + prefix: Enc256 | ||
| 172 | from_table: | 177 | from_table: |
| 173 | table: 128-bit encryption | 178 | table: 128-bit encryption |
| 174 | options: | 179 | options: |
| @@ -185,6 +190,7 @@ options: | @@ -185,6 +190,7 @@ options: | ||
| 185 | - force-R5 | 190 | - force-R5 |
| 186 | - allow-insecure | 191 | - allow-insecure |
| 187 | - table: underlay/overlay | 192 | - table: underlay/overlay |
| 193 | + prefix: UO | ||
| 188 | positional: true | 194 | positional: true |
| 189 | required_parameter: | 195 | required_parameter: |
| 190 | to: page-range | 196 | to: page-range |
| @@ -192,6 +198,7 @@ options: | @@ -192,6 +198,7 @@ options: | ||
| 192 | repeat: page-range | 198 | repeat: page-range |
| 193 | password: password | 199 | password: password |
| 194 | - table: attachment | 200 | - table: attachment |
| 201 | + prefix: Att | ||
| 195 | positional: true | 202 | positional: true |
| 196 | bare: | 203 | bare: |
| 197 | - replace | 204 | - replace |
| @@ -203,6 +210,7 @@ options: | @@ -203,6 +210,7 @@ options: | ||
| 203 | mimetype: mime/type | 210 | mimetype: mime/type |
| 204 | description: description | 211 | description: description |
| 205 | - table: copy attachment | 212 | - table: copy attachment |
| 213 | + prefix: CopyAtt | ||
| 206 | positional: true | 214 | positional: true |
| 207 | required_parameter: | 215 | required_parameter: |
| 208 | prefix: prefix | 216 | prefix: prefix |
libqpdf/QPDFJob_argv.cc
| @@ -25,134 +25,6 @@ namespace | @@ -25,134 +25,6 @@ namespace | ||
| 25 | private: | 25 | private: |
| 26 | # include <qpdf/auto_job_decl.hh> | 26 | # include <qpdf/auto_job_decl.hh> |
| 27 | 27 | ||
| 28 | - void argHelp(); | ||
| 29 | - void argVersion(); | ||
| 30 | - void argCopyright(); | ||
| 31 | - void argJsonHelp(); | ||
| 32 | - void argShowCrypto(); | ||
| 33 | - void argPositional(char* arg); | ||
| 34 | - void argPassword(char* parameter); | ||
| 35 | - void argPasswordFile(char* parameter); | ||
| 36 | - void argEmpty(); | ||
| 37 | - void argLinearize(); | ||
| 38 | - void argEncrypt(); | ||
| 39 | - void argDecrypt(); | ||
| 40 | - void argPasswordIsHexKey(); | ||
| 41 | - void argAllowInsecure(); | ||
| 42 | - void argAllowWeakCrypto(); | ||
| 43 | - void argPasswordMode(char* parameter); | ||
| 44 | - void argSuppressPasswordRecovery(); | ||
| 45 | - void argCopyEncryption(char* parameter); | ||
| 46 | - void argEncryptionFilePassword(char* parameter); | ||
| 47 | - void argPages(); | ||
| 48 | - void argPagesPassword(char* parameter); | ||
| 49 | - void argPagesPositional(char* parameter); | ||
| 50 | - void argEndPages(); | ||
| 51 | - void argUnderlay(); | ||
| 52 | - void argOverlay(); | ||
| 53 | - void argRotate(char* parameter); | ||
| 54 | - void argCollate(char* parameter); | ||
| 55 | - void argFlattenRotation(); | ||
| 56 | - void argListAttachments(); | ||
| 57 | - void argShowAttachment(char* parameter); | ||
| 58 | - void argRemoveAttachment(char* parameter); | ||
| 59 | - void argAddAttachment(); | ||
| 60 | - void argCopyAttachments(); | ||
| 61 | - void argStreamData(char* parameter); | ||
| 62 | - void argCompressStreams(char* parameter); | ||
| 63 | - void argRecompressFlate(); | ||
| 64 | - void argCompressionLevel(char* parameter); | ||
| 65 | - void argDecodeLevel(char* parameter); | ||
| 66 | - void argNormalizeContent(char* parameter); | ||
| 67 | - void argSuppressRecovery(); | ||
| 68 | - void argObjectStreams(char* parameter); | ||
| 69 | - void argIgnoreXrefStreams(); | ||
| 70 | - void argQdf(); | ||
| 71 | - void argPreserveUnreferenced(); | ||
| 72 | - void argPreserveUnreferencedResources(); | ||
| 73 | - void argRemoveUnreferencedResources(char* parameter); | ||
| 74 | - void argKeepFilesOpen(char* parameter); | ||
| 75 | - void argKeepFilesOpenThreshold(char* parameter); | ||
| 76 | - void argNewlineBeforeEndstream(); | ||
| 77 | - void argLinearizePass1(char* parameter); | ||
| 78 | - void argCoalesceContents(); | ||
| 79 | - void argFlattenAnnotations(char* parameter); | ||
| 80 | - void argGenerateAppearances(); | ||
| 81 | - void argMinVersion(char* parameter); | ||
| 82 | - void argForceVersion(char* parameter); | ||
| 83 | - void argSplitPages(char* parameter); | ||
| 84 | - void argVerbose(); | ||
| 85 | - void argProgress(); | ||
| 86 | - void argNoWarn(); | ||
| 87 | - void argWarningExitZero(); | ||
| 88 | - void argDeterministicId(); | ||
| 89 | - void argStaticId(); | ||
| 90 | - void argStaticAesIv(); | ||
| 91 | - void argNoOriginalObjectIds(); | ||
| 92 | - void argShowEncryption(); | ||
| 93 | - void argShowEncryptionKey(); | ||
| 94 | - void argCheckLinearization(); | ||
| 95 | - void argShowLinearization(); | ||
| 96 | - void argShowXref(); | ||
| 97 | - void argShowObject(char* parameter); | ||
| 98 | - void argRawStreamData(); | ||
| 99 | - void argFilteredStreamData(); | ||
| 100 | - void argShowNpages(); | ||
| 101 | - void argShowPages(); | ||
| 102 | - void argWithImages(); | ||
| 103 | - void argJson(); | ||
| 104 | - void argJsonKey(char* parameter); | ||
| 105 | - void argJsonObject(char* parameter); | ||
| 106 | - void argCheck(); | ||
| 107 | - void argOptimizeImages(); | ||
| 108 | - void argExternalizeInlineImages(); | ||
| 109 | - void argKeepInlineImages(); | ||
| 110 | - void argRemovePageLabels(); | ||
| 111 | - void argOiMinWidth(char* parameter); | ||
| 112 | - void argOiMinHeight(char* parameter); | ||
| 113 | - void argOiMinArea(char* parameter); | ||
| 114 | - void argIiMinBytes(char* parameter); | ||
| 115 | - void arg40Print(char* parameter); | ||
| 116 | - void arg40Modify(char* parameter); | ||
| 117 | - void arg40Extract(char* parameter); | ||
| 118 | - void arg40Annotate(char* parameter); | ||
| 119 | - void arg128Accessibility(char* parameter); | ||
| 120 | - void arg128Extract(char* parameter); | ||
| 121 | - void arg128Print(char* parameter); | ||
| 122 | - void arg128Modify(char* parameter); | ||
| 123 | - void arg128ClearTextMetadata(); | ||
| 124 | - void arg128Assemble(char* parameter); | ||
| 125 | - void arg128Annotate(char* parameter); | ||
| 126 | - void arg128Form(char* parameter); | ||
| 127 | - void arg128ModOther(char* parameter); | ||
| 128 | - void arg128UseAes(char* parameter); | ||
| 129 | - void arg128ForceV4(); | ||
| 130 | - void arg256ForceR5(); | ||
| 131 | - void argEncryptPositional(char* arg); | ||
| 132 | - void argEndEncrypt(); | ||
| 133 | - void argUOpositional(char* arg); | ||
| 134 | - void argUOto(char* parameter); | ||
| 135 | - void argUOfrom(char* parameter); | ||
| 136 | - void argUOrepeat(char* parameter); | ||
| 137 | - void argUOpassword(char* parameter); | ||
| 138 | - void argEndUnderOverlay(); | ||
| 139 | - void argReplaceInput(); | ||
| 140 | - void argIsEncrypted(); | ||
| 141 | - void argRequiresPassword(); | ||
| 142 | - void argAApositional(char* arg); | ||
| 143 | - void argAAKey(char* parameter); | ||
| 144 | - void argAAFilename(char* parameter); | ||
| 145 | - void argAACreationDate(char* parameter); | ||
| 146 | - void argAAModDate(char* parameter); | ||
| 147 | - void argAAMimeType(char* parameter); | ||
| 148 | - void argAADescription(char* parameter); | ||
| 149 | - void argAAReplace(); | ||
| 150 | - void argEndAddAttachment(); | ||
| 151 | - void argCApositional(char* arg); | ||
| 152 | - void argCAprefix(char* parameter); | ||
| 153 | - void argCApassword(char* parameter); | ||
| 154 | - void argEndCopyAttachments(); | ||
| 155 | - | ||
| 156 | void usage(std::string const& message); | 28 | void usage(std::string const& message); |
| 157 | void initOptionTable(); | 29 | void initOptionTable(); |
| 158 | void doFinalChecks(); | 30 | void doFinalChecks(); |
| @@ -226,7 +98,7 @@ ArgParser::initOptionTable() | @@ -226,7 +98,7 @@ ArgParser::initOptionTable() | ||
| 226 | p(&ArgParser::argRemoveAttachment), "attachment-key"); | 98 | p(&ArgParser::argRemoveAttachment), "attachment-key"); |
| 227 | this->ap.addBare("add-attachment", b(&ArgParser::argAddAttachment)); | 99 | this->ap.addBare("add-attachment", b(&ArgParser::argAddAttachment)); |
| 228 | this->ap.addBare( | 100 | this->ap.addBare( |
| 229 | - "copy-attachments-from", b(&ArgParser::argCopyAttachments)); | 101 | + "copy-attachments-from", b(&ArgParser::argCopyAttachmentsFrom)); |
| 230 | this->ap.addRequiredChoices("stream-data", | 102 | this->ap.addRequiredChoices("stream-data", |
| 231 | p(&ArgParser::argStreamData), stream_data_choices); | 103 | p(&ArgParser::argStreamData), stream_data_choices); |
| 232 | this->ap.addRequiredChoices("compress-streams", | 104 | this->ap.addRequiredChoices("compress-streams", |
| @@ -270,7 +142,7 @@ ArgParser::initOptionTable() | @@ -270,7 +142,7 @@ ArgParser::initOptionTable() | ||
| 270 | this->ap.addBare("verbose", b(&ArgParser::argVerbose)); | 142 | this->ap.addBare("verbose", b(&ArgParser::argVerbose)); |
| 271 | this->ap.addBare("progress", b(&ArgParser::argProgress)); | 143 | this->ap.addBare("progress", b(&ArgParser::argProgress)); |
| 272 | this->ap.addBare("no-warn", b(&ArgParser::argNoWarn)); | 144 | this->ap.addBare("no-warn", b(&ArgParser::argNoWarn)); |
| 273 | - this->ap.addBare("warning-exit-0", b(&ArgParser::argWarningExitZero)); | 145 | + this->ap.addBare("warning-exit-0", b(&ArgParser::argWarningExit0)); |
| 274 | this->ap.addBare("deterministic-id", b(&ArgParser::argDeterministicId)); | 146 | this->ap.addBare("deterministic-id", b(&ArgParser::argDeterministicId)); |
| 275 | this->ap.addBare("static-id", b(&ArgParser::argStaticId)); | 147 | this->ap.addBare("static-id", b(&ArgParser::argStaticId)); |
| 276 | this->ap.addBare("static-aes-iv", b(&ArgParser::argStaticAesIv)); | 148 | this->ap.addBare("static-aes-iv", b(&ArgParser::argStaticAesIv)); |
| @@ -321,73 +193,73 @@ ArgParser::initOptionTable() | @@ -321,73 +193,73 @@ ArgParser::initOptionTable() | ||
| 321 | 193 | ||
| 322 | this->ap.selectMainOptionTable(); | 194 | this->ap.selectMainOptionTable(); |
| 323 | this->ap.addBare("encrypt", b(&ArgParser::argEncrypt)); | 195 | this->ap.addBare("encrypt", b(&ArgParser::argEncrypt)); |
| 324 | - this->ap.registerOptionTable(O_ENCRYPTION, b(&ArgParser::argEndEncrypt)); | ||
| 325 | - this->ap.addPositional(p(&ArgParser::argEncryptPositional)); | ||
| 326 | - this->ap.registerOptionTable(O_40_BIT_ENCRYPTION, b(&ArgParser::argEndEncrypt)); | ||
| 327 | - this->ap.addRequiredChoices("extract",p(&ArgParser::arg40Extract), yn_choices); | ||
| 328 | - this->ap.addRequiredChoices("annotate",p(&ArgParser::arg40Annotate), yn_choices); | ||
| 329 | - this->ap.addRequiredChoices("print",p(&ArgParser::arg40Print), yn_choices); | ||
| 330 | - this->ap.addRequiredChoices("modify",p(&ArgParser::arg40Modify), yn_choices); | ||
| 331 | - this->ap.registerOptionTable(O_128_BIT_ENCRYPTION, b(&ArgParser::argEndEncrypt)); | ||
| 332 | - this->ap.registerOptionTable(O_256_BIT_ENCRYPTION, b(&ArgParser::argEndEncrypt)); | 196 | + this->ap.registerOptionTable(O_ENCRYPTION, b(&ArgParser::argEndEncryption)); |
| 197 | + this->ap.addPositional(p(&ArgParser::argEncPositional)); | ||
| 198 | + this->ap.registerOptionTable(O_40_BIT_ENCRYPTION, b(&ArgParser::argEndEncryption)); | ||
| 199 | + this->ap.addRequiredChoices("extract",p(&ArgParser::argEnc40Extract), yn_choices); | ||
| 200 | + this->ap.addRequiredChoices("annotate",p(&ArgParser::argEnc40Annotate), yn_choices); | ||
| 201 | + this->ap.addRequiredChoices("print",p(&ArgParser::argEnc40Print), yn_choices); | ||
| 202 | + this->ap.addRequiredChoices("modify",p(&ArgParser::argEnc40Modify), yn_choices); | ||
| 203 | + this->ap.registerOptionTable(O_128_BIT_ENCRYPTION, b(&ArgParser::argEndEncryption)); | ||
| 204 | + this->ap.registerOptionTable(O_256_BIT_ENCRYPTION, b(&ArgParser::argEndEncryption)); | ||
| 333 | for (char const* k: {O_128_BIT_ENCRYPTION, O_256_BIT_ENCRYPTION}) | 205 | for (char const* k: {O_128_BIT_ENCRYPTION, O_256_BIT_ENCRYPTION}) |
| 334 | { | 206 | { |
| 335 | this->ap.selectOptionTable(k); | 207 | this->ap.selectOptionTable(k); |
| 336 | this->ap.addRequiredChoices("accessibility", | 208 | this->ap.addRequiredChoices("accessibility", |
| 337 | - p(&ArgParser::arg128Accessibility), yn_choices); | ||
| 338 | - this->ap.addRequiredChoices("extract", p(&ArgParser::arg128Extract), yn_choices); | 209 | + p(&ArgParser::argEnc128Accessibility), yn_choices); |
| 210 | + this->ap.addRequiredChoices("extract", p(&ArgParser::argEnc128Extract), yn_choices); | ||
| 339 | this->ap.addRequiredChoices("print", | 211 | this->ap.addRequiredChoices("print", |
| 340 | - p(&ArgParser::arg128Print), print128_choices); | ||
| 341 | - this->ap.addRequiredChoices("assemble",p(&ArgParser::arg128Assemble), yn_choices); | ||
| 342 | - this->ap.addRequiredChoices("annotate",p(&ArgParser::arg128Annotate), yn_choices); | ||
| 343 | - this->ap.addRequiredChoices("form",p(&ArgParser::arg128Form), yn_choices); | ||
| 344 | - this->ap.addRequiredChoices("modify-other",p(&ArgParser::arg128ModOther), yn_choices); | 212 | + p(&ArgParser::argEnc128Print), print128_choices); |
| 213 | + this->ap.addRequiredChoices("assemble",p(&ArgParser::argEnc128Assemble), yn_choices); | ||
| 214 | + this->ap.addRequiredChoices("annotate",p(&ArgParser::argEnc128Annotate), yn_choices); | ||
| 215 | + this->ap.addRequiredChoices("form",p(&ArgParser::argEnc128Form), yn_choices); | ||
| 216 | + this->ap.addRequiredChoices("modify-other",p(&ArgParser::argEnc128ModifyOther), yn_choices); | ||
| 345 | this->ap.addRequiredChoices("modify", | 217 | this->ap.addRequiredChoices("modify", |
| 346 | - p(&ArgParser::arg128Modify), modify128_choices); | ||
| 347 | - this->ap.addBare("cleartext-metadata", b(&ArgParser::arg128ClearTextMetadata)); | 218 | + p(&ArgParser::argEnc128Modify), modify128_choices); |
| 219 | + this->ap.addBare("cleartext-metadata", b(&ArgParser::argEnc128CleartextMetadata)); | ||
| 348 | } | 220 | } |
| 349 | 221 | ||
| 350 | this->ap.selectOptionTable(O_128_BIT_ENCRYPTION); | 222 | this->ap.selectOptionTable(O_128_BIT_ENCRYPTION); |
| 351 | - this->ap.addRequiredChoices("use-aes",p(&ArgParser::arg128UseAes), yn_choices); | ||
| 352 | - this->ap.addBare("force-V4", b(&ArgParser::arg128ForceV4)); | 223 | + this->ap.addRequiredChoices("use-aes",p(&ArgParser::argEnc128UseAes), yn_choices); |
| 224 | + this->ap.addBare("force-V4", b(&ArgParser::argEnc128ForceV4)); | ||
| 353 | 225 | ||
| 354 | this->ap.selectOptionTable(O_256_BIT_ENCRYPTION); | 226 | this->ap.selectOptionTable(O_256_BIT_ENCRYPTION); |
| 355 | - this->ap.addBare("force-R5", b(&ArgParser::arg256ForceR5)); | ||
| 356 | - this->ap.addBare("allow-insecure", b(&ArgParser::argAllowInsecure)); | 227 | + this->ap.addBare("force-R5", b(&ArgParser::argEnc256ForceR5)); |
| 228 | + this->ap.addBare("allow-insecure", b(&ArgParser::argEnc256AllowInsecure)); | ||
| 357 | 229 | ||
| 358 | - this->ap.registerOptionTable(O_UNDERLAY_OVERLAY, b(&ArgParser::argEndUnderOverlay)); | ||
| 359 | - this->ap.addPositional(p(&ArgParser::argUOpositional)); | 230 | + this->ap.registerOptionTable(O_UNDERLAY_OVERLAY, b(&ArgParser::argEndUnderlayOverlay)); |
| 231 | + this->ap.addPositional(p(&ArgParser::argUOPositional)); | ||
| 360 | this->ap.addRequiredParameter("to", | 232 | this->ap.addRequiredParameter("to", |
| 361 | - p(&ArgParser::argUOto), "page-range"); | 233 | + p(&ArgParser::argUOTo), "page-range"); |
| 362 | this->ap.addRequiredParameter("from", | 234 | this->ap.addRequiredParameter("from", |
| 363 | - p(&ArgParser::argUOfrom), "page-range"); | 235 | + p(&ArgParser::argUOFrom), "page-range"); |
| 364 | this->ap.addRequiredParameter("repeat", | 236 | this->ap.addRequiredParameter("repeat", |
| 365 | - p(&ArgParser::argUOrepeat), "page-range"); | 237 | + p(&ArgParser::argUORepeat), "page-range"); |
| 366 | this->ap.addRequiredParameter("password", | 238 | this->ap.addRequiredParameter("password", |
| 367 | - p(&ArgParser::argUOpassword), "password"); | 239 | + p(&ArgParser::argUOPassword), "password"); |
| 368 | 240 | ||
| 369 | - this->ap.registerOptionTable(O_ATTACHMENT, b(&ArgParser::argEndAddAttachment)); | ||
| 370 | - this->ap.addPositional(p(&ArgParser::argAApositional)); | 241 | + this->ap.registerOptionTable(O_ATTACHMENT, b(&ArgParser::argEndAttachment)); |
| 242 | + this->ap.addPositional(p(&ArgParser::argAttPositional)); | ||
| 371 | this->ap.addRequiredParameter("key", | 243 | this->ap.addRequiredParameter("key", |
| 372 | - p(&ArgParser::argAAKey), "attachment-key"); | 244 | + p(&ArgParser::argAttKey), "attachment-key"); |
| 373 | this->ap.addRequiredParameter("filename", | 245 | this->ap.addRequiredParameter("filename", |
| 374 | - p(&ArgParser::argAAFilename), "filename"); | 246 | + p(&ArgParser::argAttFilename), "filename"); |
| 375 | this->ap.addRequiredParameter("creationdate", | 247 | this->ap.addRequiredParameter("creationdate", |
| 376 | - p(&ArgParser::argAACreationDate), "creation-date"); | 248 | + p(&ArgParser::argAttCreationdate), "creation-date"); |
| 377 | this->ap.addRequiredParameter("moddate", | 249 | this->ap.addRequiredParameter("moddate", |
| 378 | - p(&ArgParser::argAAModDate), "modification-date"); | 250 | + p(&ArgParser::argAttModdate), "modification-date"); |
| 379 | this->ap.addRequiredParameter("mimetype", | 251 | this->ap.addRequiredParameter("mimetype", |
| 380 | - p(&ArgParser::argAAMimeType), "mime/type"); | 252 | + p(&ArgParser::argAttMimetype), "mime/type"); |
| 381 | this->ap.addRequiredParameter("description", | 253 | this->ap.addRequiredParameter("description", |
| 382 | - p(&ArgParser::argAADescription), "description"); | ||
| 383 | - this->ap.addBare("replace", b(&ArgParser::argAAReplace)); | 254 | + p(&ArgParser::argAttDescription), "description"); |
| 255 | + this->ap.addBare("replace", b(&ArgParser::argAttReplace)); | ||
| 384 | 256 | ||
| 385 | - this->ap.registerOptionTable(O_COPY_ATTACHMENT, b(&ArgParser::argEndCopyAttachments)); | ||
| 386 | - this->ap.addPositional(p(&ArgParser::argCApositional)); | 257 | + this->ap.registerOptionTable(O_COPY_ATTACHMENT, b(&ArgParser::argEndCopyAttachment)); |
| 258 | + this->ap.addPositional(p(&ArgParser::argCopyAttPositional)); | ||
| 387 | this->ap.addRequiredParameter("prefix", | 259 | this->ap.addRequiredParameter("prefix", |
| 388 | - p(&ArgParser::argCAprefix), "prefix"); | 260 | + p(&ArgParser::argCopyAttPrefix), "prefix"); |
| 389 | this->ap.addRequiredParameter("password", | 261 | this->ap.addRequiredParameter("password", |
| 390 | - p(&ArgParser::argCApassword), "password"); | 262 | + p(&ArgParser::argCopyAttPassword), "password"); |
| 391 | } | 263 | } |
| 392 | 264 | ||
| 393 | void | 265 | void |
| @@ -1067,7 +939,7 @@ ArgParser::argEncrypt() | @@ -1067,7 +939,7 @@ ArgParser::argEncrypt() | ||
| 1067 | } | 939 | } |
| 1068 | 940 | ||
| 1069 | void | 941 | void |
| 1070 | -ArgParser::argEncryptPositional(char* arg) | 942 | +ArgParser::argEncPositional(char* arg) |
| 1071 | { | 943 | { |
| 1072 | this->accumulated_args.push_back(arg); | 944 | this->accumulated_args.push_back(arg); |
| 1073 | size_t n_args = this->accumulated_args.size(); | 945 | size_t n_args = this->accumulated_args.size(); |
| @@ -1159,7 +1031,7 @@ ArgParser::argPasswordMode(char* parameter) | @@ -1159,7 +1031,7 @@ ArgParser::argPasswordMode(char* parameter) | ||
| 1159 | } | 1031 | } |
| 1160 | 1032 | ||
| 1161 | void | 1033 | void |
| 1162 | -ArgParser::argAllowInsecure() | 1034 | +ArgParser::argEnc256AllowInsecure() |
| 1163 | { | 1035 | { |
| 1164 | o.allow_insecure = true; | 1036 | o.allow_insecure = true; |
| 1165 | } | 1037 | } |
| @@ -1364,7 +1236,7 @@ ArgParser::argAddAttachment() | @@ -1364,7 +1236,7 @@ ArgParser::argAddAttachment() | ||
| 1364 | } | 1236 | } |
| 1365 | 1237 | ||
| 1366 | void | 1238 | void |
| 1367 | -ArgParser::argCopyAttachments() | 1239 | +ArgParser::argCopyAttachmentsFrom() |
| 1368 | { | 1240 | { |
| 1369 | o.attachments_to_copy.push_back(QPDFJob::CopyAttachmentFrom()); | 1241 | o.attachments_to_copy.push_back(QPDFJob::CopyAttachmentFrom()); |
| 1370 | this->ap.selectOptionTable(O_COPY_ATTACHMENT); | 1242 | this->ap.selectOptionTable(O_COPY_ATTACHMENT); |
| @@ -1616,7 +1488,7 @@ ArgParser::argNoWarn() | @@ -1616,7 +1488,7 @@ ArgParser::argNoWarn() | ||
| 1616 | } | 1488 | } |
| 1617 | 1489 | ||
| 1618 | void | 1490 | void |
| 1619 | -ArgParser::argWarningExitZero() | 1491 | +ArgParser::argWarningExit0() |
| 1620 | { | 1492 | { |
| 1621 | o.warnings_exit_zero = true; | 1493 | o.warnings_exit_zero = true; |
| 1622 | } | 1494 | } |
| @@ -1793,43 +1665,43 @@ ArgParser::argIiMinBytes(char* parameter) | @@ -1793,43 +1665,43 @@ ArgParser::argIiMinBytes(char* parameter) | ||
| 1793 | } | 1665 | } |
| 1794 | 1666 | ||
| 1795 | void | 1667 | void |
| 1796 | -ArgParser::arg40Print(char* parameter) | 1668 | +ArgParser::argEnc40Print(char* parameter) |
| 1797 | { | 1669 | { |
| 1798 | o.r2_print = (strcmp(parameter, "y") == 0); | 1670 | o.r2_print = (strcmp(parameter, "y") == 0); |
| 1799 | } | 1671 | } |
| 1800 | 1672 | ||
| 1801 | void | 1673 | void |
| 1802 | -ArgParser::arg40Modify(char* parameter) | 1674 | +ArgParser::argEnc40Modify(char* parameter) |
| 1803 | { | 1675 | { |
| 1804 | o.r2_modify = (strcmp(parameter, "y") == 0); | 1676 | o.r2_modify = (strcmp(parameter, "y") == 0); |
| 1805 | } | 1677 | } |
| 1806 | 1678 | ||
| 1807 | void | 1679 | void |
| 1808 | -ArgParser::arg40Extract(char* parameter) | 1680 | +ArgParser::argEnc40Extract(char* parameter) |
| 1809 | { | 1681 | { |
| 1810 | o.r2_extract = (strcmp(parameter, "y") == 0); | 1682 | o.r2_extract = (strcmp(parameter, "y") == 0); |
| 1811 | } | 1683 | } |
| 1812 | 1684 | ||
| 1813 | void | 1685 | void |
| 1814 | -ArgParser::arg40Annotate(char* parameter) | 1686 | +ArgParser::argEnc40Annotate(char* parameter) |
| 1815 | { | 1687 | { |
| 1816 | o.r2_annotate = (strcmp(parameter, "y") == 0); | 1688 | o.r2_annotate = (strcmp(parameter, "y") == 0); |
| 1817 | } | 1689 | } |
| 1818 | 1690 | ||
| 1819 | void | 1691 | void |
| 1820 | -ArgParser::arg128Accessibility(char* parameter) | 1692 | +ArgParser::argEnc128Accessibility(char* parameter) |
| 1821 | { | 1693 | { |
| 1822 | o.r3_accessibility = (strcmp(parameter, "y") == 0); | 1694 | o.r3_accessibility = (strcmp(parameter, "y") == 0); |
| 1823 | } | 1695 | } |
| 1824 | 1696 | ||
| 1825 | void | 1697 | void |
| 1826 | -ArgParser::arg128Extract(char* parameter) | 1698 | +ArgParser::argEnc128Extract(char* parameter) |
| 1827 | { | 1699 | { |
| 1828 | o.r3_extract = (strcmp(parameter, "y") == 0); | 1700 | o.r3_extract = (strcmp(parameter, "y") == 0); |
| 1829 | } | 1701 | } |
| 1830 | 1702 | ||
| 1831 | void | 1703 | void |
| 1832 | -ArgParser::arg128Print(char* parameter) | 1704 | +ArgParser::argEnc128Print(char* parameter) |
| 1833 | { | 1705 | { |
| 1834 | if (strcmp(parameter, "full") == 0) | 1706 | if (strcmp(parameter, "full") == 0) |
| 1835 | { | 1707 | { |
| @@ -1850,7 +1722,7 @@ ArgParser::arg128Print(char* parameter) | @@ -1850,7 +1722,7 @@ ArgParser::arg128Print(char* parameter) | ||
| 1850 | } | 1722 | } |
| 1851 | 1723 | ||
| 1852 | void | 1724 | void |
| 1853 | -ArgParser::arg128Modify(char* parameter) | 1725 | +ArgParser::argEnc128Modify(char* parameter) |
| 1854 | { | 1726 | { |
| 1855 | if (strcmp(parameter, "all") == 0) | 1727 | if (strcmp(parameter, "all") == 0) |
| 1856 | { | 1728 | { |
| @@ -1894,55 +1766,55 @@ ArgParser::arg128Modify(char* parameter) | @@ -1894,55 +1766,55 @@ ArgParser::arg128Modify(char* parameter) | ||
| 1894 | } | 1766 | } |
| 1895 | 1767 | ||
| 1896 | void | 1768 | void |
| 1897 | -ArgParser::arg128ClearTextMetadata() | 1769 | +ArgParser::argEnc128CleartextMetadata() |
| 1898 | { | 1770 | { |
| 1899 | o.cleartext_metadata = true; | 1771 | o.cleartext_metadata = true; |
| 1900 | } | 1772 | } |
| 1901 | 1773 | ||
| 1902 | void | 1774 | void |
| 1903 | -ArgParser::arg128Assemble(char* parameter) | 1775 | +ArgParser::argEnc128Assemble(char* parameter) |
| 1904 | { | 1776 | { |
| 1905 | o.r3_assemble = (strcmp(parameter, "y") == 0); | 1777 | o.r3_assemble = (strcmp(parameter, "y") == 0); |
| 1906 | } | 1778 | } |
| 1907 | 1779 | ||
| 1908 | void | 1780 | void |
| 1909 | -ArgParser::arg128Annotate(char* parameter) | 1781 | +ArgParser::argEnc128Annotate(char* parameter) |
| 1910 | { | 1782 | { |
| 1911 | o.r3_annotate_and_form = (strcmp(parameter, "y") == 0); | 1783 | o.r3_annotate_and_form = (strcmp(parameter, "y") == 0); |
| 1912 | } | 1784 | } |
| 1913 | 1785 | ||
| 1914 | void | 1786 | void |
| 1915 | -ArgParser::arg128Form(char* parameter) | 1787 | +ArgParser::argEnc128Form(char* parameter) |
| 1916 | { | 1788 | { |
| 1917 | o.r3_form_filling = (strcmp(parameter, "y") == 0); | 1789 | o.r3_form_filling = (strcmp(parameter, "y") == 0); |
| 1918 | } | 1790 | } |
| 1919 | 1791 | ||
| 1920 | void | 1792 | void |
| 1921 | -ArgParser::arg128ModOther(char* parameter) | 1793 | +ArgParser::argEnc128ModifyOther(char* parameter) |
| 1922 | { | 1794 | { |
| 1923 | o.r3_modify_other = (strcmp(parameter, "y") == 0); | 1795 | o.r3_modify_other = (strcmp(parameter, "y") == 0); |
| 1924 | } | 1796 | } |
| 1925 | 1797 | ||
| 1926 | void | 1798 | void |
| 1927 | -ArgParser::arg128UseAes(char* parameter) | 1799 | +ArgParser::argEnc128UseAes(char* parameter) |
| 1928 | { | 1800 | { |
| 1929 | o.use_aes = (strcmp(parameter, "y") == 0); | 1801 | o.use_aes = (strcmp(parameter, "y") == 0); |
| 1930 | } | 1802 | } |
| 1931 | 1803 | ||
| 1932 | void | 1804 | void |
| 1933 | -ArgParser::arg128ForceV4() | 1805 | +ArgParser::argEnc128ForceV4() |
| 1934 | { | 1806 | { |
| 1935 | o.force_V4 = true; | 1807 | o.force_V4 = true; |
| 1936 | } | 1808 | } |
| 1937 | 1809 | ||
| 1938 | void | 1810 | void |
| 1939 | -ArgParser::arg256ForceR5() | 1811 | +ArgParser::argEnc256ForceR5() |
| 1940 | { | 1812 | { |
| 1941 | o.force_R5 = true; | 1813 | o.force_R5 = true; |
| 1942 | } | 1814 | } |
| 1943 | 1815 | ||
| 1944 | void | 1816 | void |
| 1945 | -ArgParser::argEndEncrypt() | 1817 | +ArgParser::argEndEncryption() |
| 1946 | { | 1818 | { |
| 1947 | o.encrypt = true; | 1819 | o.encrypt = true; |
| 1948 | o.decrypt = false; | 1820 | o.decrypt = false; |
| @@ -1950,7 +1822,7 @@ ArgParser::argEndEncrypt() | @@ -1950,7 +1822,7 @@ ArgParser::argEndEncrypt() | ||
| 1950 | } | 1822 | } |
| 1951 | 1823 | ||
| 1952 | void | 1824 | void |
| 1953 | -ArgParser::argUOpositional(char* arg) | 1825 | +ArgParser::argUOPositional(char* arg) |
| 1954 | { | 1826 | { |
| 1955 | if (o.under_overlay->filename) | 1827 | if (o.under_overlay->filename) |
| 1956 | { | 1828 | { |
| @@ -1963,14 +1835,14 @@ ArgParser::argUOpositional(char* arg) | @@ -1963,14 +1835,14 @@ ArgParser::argUOpositional(char* arg) | ||
| 1963 | } | 1835 | } |
| 1964 | 1836 | ||
| 1965 | void | 1837 | void |
| 1966 | -ArgParser::argUOto(char* parameter) | 1838 | +ArgParser::argUOTo(char* parameter) |
| 1967 | { | 1839 | { |
| 1968 | parseNumrange(parameter, 0); | 1840 | parseNumrange(parameter, 0); |
| 1969 | o.under_overlay->to_nr = parameter; | 1841 | o.under_overlay->to_nr = parameter; |
| 1970 | } | 1842 | } |
| 1971 | 1843 | ||
| 1972 | void | 1844 | void |
| 1973 | -ArgParser::argUOfrom(char* parameter) | 1845 | +ArgParser::argUOFrom(char* parameter) |
| 1974 | { | 1846 | { |
| 1975 | if (strlen(parameter)) | 1847 | if (strlen(parameter)) |
| 1976 | { | 1848 | { |
| @@ -1980,7 +1852,7 @@ ArgParser::argUOfrom(char* parameter) | @@ -1980,7 +1852,7 @@ ArgParser::argUOfrom(char* parameter) | ||
| 1980 | } | 1852 | } |
| 1981 | 1853 | ||
| 1982 | void | 1854 | void |
| 1983 | -ArgParser::argUOrepeat(char* parameter) | 1855 | +ArgParser::argUORepeat(char* parameter) |
| 1984 | { | 1856 | { |
| 1985 | if (strlen(parameter)) | 1857 | if (strlen(parameter)) |
| 1986 | { | 1858 | { |
| @@ -1990,13 +1862,13 @@ ArgParser::argUOrepeat(char* parameter) | @@ -1990,13 +1862,13 @@ ArgParser::argUOrepeat(char* parameter) | ||
| 1990 | } | 1862 | } |
| 1991 | 1863 | ||
| 1992 | void | 1864 | void |
| 1993 | -ArgParser::argUOpassword(char* parameter) | 1865 | +ArgParser::argUOPassword(char* parameter) |
| 1994 | { | 1866 | { |
| 1995 | o.under_overlay->password = parameter; | 1867 | o.under_overlay->password = parameter; |
| 1996 | } | 1868 | } |
| 1997 | 1869 | ||
| 1998 | void | 1870 | void |
| 1999 | -ArgParser::argEndUnderOverlay() | 1871 | +ArgParser::argEndUnderlayOverlay() |
| 2000 | { | 1872 | { |
| 2001 | if (0 == o.under_overlay->filename) | 1873 | if (0 == o.under_overlay->filename) |
| 2002 | { | 1874 | { |
| @@ -2026,25 +1898,25 @@ ArgParser::argRequiresPassword() | @@ -2026,25 +1898,25 @@ ArgParser::argRequiresPassword() | ||
| 2026 | } | 1898 | } |
| 2027 | 1899 | ||
| 2028 | void | 1900 | void |
| 2029 | -ArgParser::argAApositional(char* arg) | 1901 | +ArgParser::argAttPositional(char* arg) |
| 2030 | { | 1902 | { |
| 2031 | o.attachments_to_add.back().path = arg; | 1903 | o.attachments_to_add.back().path = arg; |
| 2032 | } | 1904 | } |
| 2033 | 1905 | ||
| 2034 | void | 1906 | void |
| 2035 | -ArgParser::argAAKey(char* parameter) | 1907 | +ArgParser::argAttKey(char* parameter) |
| 2036 | { | 1908 | { |
| 2037 | o.attachments_to_add.back().key = parameter; | 1909 | o.attachments_to_add.back().key = parameter; |
| 2038 | } | 1910 | } |
| 2039 | 1911 | ||
| 2040 | void | 1912 | void |
| 2041 | -ArgParser::argAAFilename(char* parameter) | 1913 | +ArgParser::argAttFilename(char* parameter) |
| 2042 | { | 1914 | { |
| 2043 | o.attachments_to_add.back().filename = parameter; | 1915 | o.attachments_to_add.back().filename = parameter; |
| 2044 | } | 1916 | } |
| 2045 | 1917 | ||
| 2046 | void | 1918 | void |
| 2047 | -ArgParser::argAACreationDate(char* parameter) | 1919 | +ArgParser::argAttCreationdate(char* parameter) |
| 2048 | { | 1920 | { |
| 2049 | if (! QUtil::pdf_time_to_qpdf_time(parameter)) | 1921 | if (! QUtil::pdf_time_to_qpdf_time(parameter)) |
| 2050 | { | 1922 | { |
| @@ -2054,7 +1926,7 @@ ArgParser::argAACreationDate(char* parameter) | @@ -2054,7 +1926,7 @@ ArgParser::argAACreationDate(char* parameter) | ||
| 2054 | } | 1926 | } |
| 2055 | 1927 | ||
| 2056 | void | 1928 | void |
| 2057 | -ArgParser::argAAModDate(char* parameter) | 1929 | +ArgParser::argAttModdate(char* parameter) |
| 2058 | { | 1930 | { |
| 2059 | if (! QUtil::pdf_time_to_qpdf_time(parameter)) | 1931 | if (! QUtil::pdf_time_to_qpdf_time(parameter)) |
| 2060 | { | 1932 | { |
| @@ -2064,7 +1936,7 @@ ArgParser::argAAModDate(char* parameter) | @@ -2064,7 +1936,7 @@ ArgParser::argAAModDate(char* parameter) | ||
| 2064 | } | 1936 | } |
| 2065 | 1937 | ||
| 2066 | void | 1938 | void |
| 2067 | -ArgParser::argAAMimeType(char* parameter) | 1939 | +ArgParser::argAttMimetype(char* parameter) |
| 2068 | { | 1940 | { |
| 2069 | if (strchr(parameter, '/') == nullptr) | 1941 | if (strchr(parameter, '/') == nullptr) |
| 2070 | { | 1942 | { |
| @@ -2074,19 +1946,19 @@ ArgParser::argAAMimeType(char* parameter) | @@ -2074,19 +1946,19 @@ ArgParser::argAAMimeType(char* parameter) | ||
| 2074 | } | 1946 | } |
| 2075 | 1947 | ||
| 2076 | void | 1948 | void |
| 2077 | -ArgParser::argAADescription(char* parameter) | 1949 | +ArgParser::argAttDescription(char* parameter) |
| 2078 | { | 1950 | { |
| 2079 | o.attachments_to_add.back().description = parameter; | 1951 | o.attachments_to_add.back().description = parameter; |
| 2080 | } | 1952 | } |
| 2081 | 1953 | ||
| 2082 | void | 1954 | void |
| 2083 | -ArgParser::argAAReplace() | 1955 | +ArgParser::argAttReplace() |
| 2084 | { | 1956 | { |
| 2085 | o.attachments_to_add.back().replace = true; | 1957 | o.attachments_to_add.back().replace = true; |
| 2086 | } | 1958 | } |
| 2087 | 1959 | ||
| 2088 | void | 1960 | void |
| 2089 | -ArgParser::argEndAddAttachment() | 1961 | +ArgParser::argEndAttachment() |
| 2090 | { | 1962 | { |
| 2091 | static std::string now = QUtil::qpdf_time_to_pdf_time( | 1963 | static std::string now = QUtil::qpdf_time_to_pdf_time( |
| 2092 | QUtil::get_current_qpdf_time()); | 1964 | QUtil::get_current_qpdf_time()); |
| @@ -2119,25 +1991,25 @@ ArgParser::argEndAddAttachment() | @@ -2119,25 +1991,25 @@ ArgParser::argEndAddAttachment() | ||
| 2119 | } | 1991 | } |
| 2120 | 1992 | ||
| 2121 | void | 1993 | void |
| 2122 | -ArgParser::argCApositional(char* arg) | 1994 | +ArgParser::argCopyAttPositional(char* arg) |
| 2123 | { | 1995 | { |
| 2124 | o.attachments_to_copy.back().path = arg; | 1996 | o.attachments_to_copy.back().path = arg; |
| 2125 | } | 1997 | } |
| 2126 | 1998 | ||
| 2127 | void | 1999 | void |
| 2128 | -ArgParser::argCAprefix(char* parameter) | 2000 | +ArgParser::argCopyAttPrefix(char* parameter) |
| 2129 | { | 2001 | { |
| 2130 | o.attachments_to_copy.back().prefix = parameter; | 2002 | o.attachments_to_copy.back().prefix = parameter; |
| 2131 | } | 2003 | } |
| 2132 | 2004 | ||
| 2133 | void | 2005 | void |
| 2134 | -ArgParser::argCApassword(char* parameter) | 2006 | +ArgParser::argCopyAttPassword(char* parameter) |
| 2135 | { | 2007 | { |
| 2136 | o.attachments_to_copy.back().password = parameter; | 2008 | o.attachments_to_copy.back().password = parameter; |
| 2137 | } | 2009 | } |
| 2138 | 2010 | ||
| 2139 | void | 2011 | void |
| 2140 | -ArgParser::argEndCopyAttachments() | 2012 | +ArgParser::argEndCopyAttachment() |
| 2141 | { | 2013 | { |
| 2142 | if (o.attachments_to_copy.back().path.empty()) | 2014 | if (o.attachments_to_copy.back().path.empty()) |
| 2143 | { | 2015 | { |
libqpdf/qpdf/auto_job_decl.hh
| @@ -11,3 +11,134 @@ static constexpr char const* O_256_BIT_ENCRYPTION = "256-bit encryption"; | @@ -11,3 +11,134 @@ static constexpr char const* O_256_BIT_ENCRYPTION = "256-bit encryption"; | ||
| 11 | static constexpr char const* O_UNDERLAY_OVERLAY = "underlay/overlay"; | 11 | static constexpr char const* O_UNDERLAY_OVERLAY = "underlay/overlay"; |
| 12 | static constexpr char const* O_ATTACHMENT = "attachment"; | 12 | static constexpr char const* O_ATTACHMENT = "attachment"; |
| 13 | static constexpr char const* O_COPY_ATTACHMENT = "copy attachment"; | 13 | static constexpr char const* O_COPY_ATTACHMENT = "copy attachment"; |
| 14 | + | ||
| 15 | +void argHelp(); | ||
| 16 | +void argVersion(); | ||
| 17 | +void argCopyright(); | ||
| 18 | +void argJsonHelp(); | ||
| 19 | +void argShowCrypto(); | ||
| 20 | +void argPositional(char*); | ||
| 21 | +void argAddAttachment(); | ||
| 22 | +void argAllowWeakCrypto(); | ||
| 23 | +void argCheck(); | ||
| 24 | +void argCheckLinearization(); | ||
| 25 | +void argCoalesceContents(); | ||
| 26 | +void argCopyAttachmentsFrom(); | ||
| 27 | +void argDecrypt(); | ||
| 28 | +void argDeterministicId(); | ||
| 29 | +void argEmpty(); | ||
| 30 | +void argEncrypt(); | ||
| 31 | +void argExternalizeInlineImages(); | ||
| 32 | +void argFilteredStreamData(); | ||
| 33 | +void argFlattenRotation(); | ||
| 34 | +void argGenerateAppearances(); | ||
| 35 | +void argIgnoreXrefStreams(); | ||
| 36 | +void argIsEncrypted(); | ||
| 37 | +void argJson(); | ||
| 38 | +void argKeepInlineImages(); | ||
| 39 | +void argLinearize(); | ||
| 40 | +void argListAttachments(); | ||
| 41 | +void argNewlineBeforeEndstream(); | ||
| 42 | +void argNoOriginalObjectIds(); | ||
| 43 | +void argNoWarn(); | ||
| 44 | +void argOptimizeImages(); | ||
| 45 | +void argOverlay(); | ||
| 46 | +void argPages(); | ||
| 47 | +void argPasswordIsHexKey(); | ||
| 48 | +void argPreserveUnreferenced(); | ||
| 49 | +void argPreserveUnreferencedResources(); | ||
| 50 | +void argProgress(); | ||
| 51 | +void argQdf(); | ||
| 52 | +void argRawStreamData(); | ||
| 53 | +void argRecompressFlate(); | ||
| 54 | +void argRemovePageLabels(); | ||
| 55 | +void argReplaceInput(); | ||
| 56 | +void argRequiresPassword(); | ||
| 57 | +void argShowEncryption(); | ||
| 58 | +void argShowEncryptionKey(); | ||
| 59 | +void argShowLinearization(); | ||
| 60 | +void argShowNpages(); | ||
| 61 | +void argShowPages(); | ||
| 62 | +void argShowXref(); | ||
| 63 | +void argStaticAesIv(); | ||
| 64 | +void argStaticId(); | ||
| 65 | +void argSuppressPasswordRecovery(); | ||
| 66 | +void argSuppressRecovery(); | ||
| 67 | +void argUnderlay(); | ||
| 68 | +void argVerbose(); | ||
| 69 | +void argWarningExit0(); | ||
| 70 | +void argWithImages(); | ||
| 71 | +void argCollate(char *); | ||
| 72 | +void argSplitPages(char *); | ||
| 73 | +void argCompressionLevel(char *); | ||
| 74 | +void argCopyEncryption(char *); | ||
| 75 | +void argEncryptionFilePassword(char *); | ||
| 76 | +void argForceVersion(char *); | ||
| 77 | +void argIiMinBytes(char *); | ||
| 78 | +void argJsonObject(char *); | ||
| 79 | +void argKeepFilesOpenThreshold(char *); | ||
| 80 | +void argLinearizePass1(char *); | ||
| 81 | +void argMinVersion(char *); | ||
| 82 | +void argOiMinArea(char *); | ||
| 83 | +void argOiMinHeight(char *); | ||
| 84 | +void argOiMinWidth(char *); | ||
| 85 | +void argPassword(char *); | ||
| 86 | +void argPasswordFile(char *); | ||
| 87 | +void argRemoveAttachment(char *); | ||
| 88 | +void argRotate(char *); | ||
| 89 | +void argShowAttachment(char *); | ||
| 90 | +void argShowObject(char *); | ||
| 91 | +void argCompressStreams(char *); | ||
| 92 | +void argDecodeLevel(char *); | ||
| 93 | +void argFlattenAnnotations(char *); | ||
| 94 | +void argJsonKey(char *); | ||
| 95 | +void argKeepFilesOpen(char *); | ||
| 96 | +void argNormalizeContent(char *); | ||
| 97 | +void argObjectStreams(char *); | ||
| 98 | +void argPasswordMode(char *); | ||
| 99 | +void argRemoveUnreferencedResources(char *); | ||
| 100 | +void argStreamData(char *); | ||
| 101 | +void argPagesPositional(char*); | ||
| 102 | +void argPagesPassword(char *); | ||
| 103 | +void argEndPages(); | ||
| 104 | +void argEncPositional(char*); | ||
| 105 | +void argEndEncryption(); | ||
| 106 | +void argEnc40Extract(char *); | ||
| 107 | +void argEnc40Annotate(char *); | ||
| 108 | +void argEnc40Print(char *); | ||
| 109 | +void argEnc40Modify(char *); | ||
| 110 | +void argEnd40BitEncryption(); | ||
| 111 | +void argEnc128CleartextMetadata(); | ||
| 112 | +void argEnc128ForceV4(); | ||
| 113 | +void argEnc128Accessibility(char *); | ||
| 114 | +void argEnc128Extract(char *); | ||
| 115 | +void argEnc128Print(char *); | ||
| 116 | +void argEnc128Assemble(char *); | ||
| 117 | +void argEnc128Annotate(char *); | ||
| 118 | +void argEnc128Form(char *); | ||
| 119 | +void argEnc128ModifyOther(char *); | ||
| 120 | +void argEnc128Modify(char *); | ||
| 121 | +void argEnc128UseAes(char *); | ||
| 122 | +void argEnd128BitEncryption(); | ||
| 123 | +void argEnc256ForceR5(); | ||
| 124 | +void argEnc256AllowInsecure(); | ||
| 125 | +void argEnd256BitEncryption(); | ||
| 126 | +void argUOPositional(char*); | ||
| 127 | +void argUOTo(char *); | ||
| 128 | +void argUOFrom(char *); | ||
| 129 | +void argUORepeat(char *); | ||
| 130 | +void argUOPassword(char *); | ||
| 131 | +void argEndUnderlayOverlay(); | ||
| 132 | +void argAttPositional(char*); | ||
| 133 | +void argAttReplace(); | ||
| 134 | +void argAttKey(char *); | ||
| 135 | +void argAttFilename(char *); | ||
| 136 | +void argAttCreationdate(char *); | ||
| 137 | +void argAttModdate(char *); | ||
| 138 | +void argAttMimetype(char *); | ||
| 139 | +void argAttDescription(char *); | ||
| 140 | +void argEndAttachment(); | ||
| 141 | +void argCopyAttPositional(char*); | ||
| 142 | +void argCopyAttPrefix(char *); | ||
| 143 | +void argCopyAttPassword(char *); | ||
| 144 | +void argEndCopyAttachment(); |