aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFJob_argv.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-01-26 22:48:18 +0100
committerJay Berkenbilt <ejb@ql.org>2022-01-30 19:11:03 +0100
commit9013b7ca919c13b03488056dff55ffbf5215f008 (patch)
treeb3115571daa56be175614e8d92b7c778b11d6b14 /libqpdf/QPDFJob_argv.cc
parentedef2cd330d0f4ca77f75e7192628a64bf67de3e (diff)
downloadqpdf-9013b7ca919c13b03488056dff55ffbf5215f008.tar.zst
QPDFJob: move placeholder json to a separate source file
Diffstat (limited to 'libqpdf/QPDFJob_argv.cc')
-rw-r--r--libqpdf/QPDFJob_argv.cc97
1 files changed, 1 insertions, 96 deletions
diff --git a/libqpdf/QPDFJob_argv.cc b/libqpdf/QPDFJob_argv.cc
index cca3abca..f4c15e31 100644
--- a/libqpdf/QPDFJob_argv.cc
+++ b/libqpdf/QPDFJob_argv.cc
@@ -16,10 +16,6 @@
#include <qpdf/QPDFArgParser.hh>
#include <qpdf/QPDFJob.hh>
#include <qpdf/QIntC.hh>
-#include <qpdf/JSONHandler.hh>
-
-#include <qpdf/auto_job_schema.hh>
-static JSON JOB_SCHEMA = JSON::parse(JOB_SCHEMA_DATA);
namespace
{
@@ -468,7 +464,7 @@ ArgParser::argEndCopyAttachment()
void
ArgParser::argJobJsonHelp()
{
- std::cout << JOB_SCHEMA_DATA << std::endl;
+ std::cout << QPDFJob::json_job_schema_v1() << std::endl;
}
void
@@ -504,94 +500,3 @@ QPDFJob::initializeFromArgv(int argc, char* argv[], char const* progname_env)
QPDFArgParser::bindBare(&QPDFJob::checkConfiguration, this));
ap.parseOptions();
}
-
-void
-QPDFJob::initializeFromJson(std::string const& json)
-{
- std::list<std::string> errors;
- JSON j = JSON::parse(json);
- if (! j.checkSchema(JOB_SCHEMA, JSON::f_optional, errors))
- {
- std::ostringstream msg;
- msg << this->m->message_prefix
- << ": job json has errors:";
- for (auto const& error: errors)
- {
- msg << std::endl << " " << error;
- }
- throw std::runtime_error(msg.str());
- }
-
- JSONHandler jh;
- {
- jh.addDictHandlers(
- [](std::string const&){},
- [](std::string const&){});
-
- auto input = std::make_shared<JSONHandler>();
- auto input_file = std::make_shared<JSONHandler>();
- auto input_file_name = std::make_shared<JSONHandler>();
- auto output = std::make_shared<JSONHandler>();
- auto output_file = std::make_shared<JSONHandler>();
- auto output_file_name = std::make_shared<JSONHandler>();
- auto output_options = std::make_shared<JSONHandler>();
- auto output_options_qdf = std::make_shared<JSONHandler>();
-
- input->addDictHandlers(
- [](std::string const&){},
- [](std::string const&){});
- input_file->addDictHandlers(
- [](std::string const&){},
- [](std::string const&){});
- output->addDictHandlers(
- [](std::string const&){},
- [](std::string const&){});
- output_file->addDictHandlers(
- [](std::string const&){},
- [](std::string const&){});
- output_options->addDictHandlers(
- [](std::string const&){},
- [](std::string const&){});
-
- jh.addDictKeyHandler("input", input);
- input->addDictKeyHandler("file", input_file);
- input_file->addDictKeyHandler("name", input_file_name);
- jh.addDictKeyHandler("output", output);
- output->addDictKeyHandler("file", output_file);
- output_file->addDictKeyHandler("name", output_file_name);
- output->addDictKeyHandler("options", output_options);
- output_options->addDictKeyHandler("qdf", output_options_qdf);
-
- input_file_name->addStringHandler(
- [this](std::string const&, std::string const& v) {
- config()->inputFile(v.c_str());
- });
- output_file_name->addStringHandler(
- [this](std::string const&, std::string const& v) {
- config()->outputFile(v.c_str());
- });
- output_options_qdf->addBoolHandler(
- [this](std::string const&, bool v) {
- // QXXXQ require v to be true
- config()->qdf();
- });
- }
-
- // {
- // "input": {
- // "file": {
- // "name": "/home/ejb/source/examples/pdf/minimal.pdf"
- // }
- // },
- // "output": {
- // "file": {
- // "name": "/tmp/a.pdf"
- // },
- // "options": {
- // "qdf": true
- // }
- // }
- // }
-
- jh.handle(".", j);
-}