aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFJob_json.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2024-01-05 18:16:13 +0100
committerJay Berkenbilt <ejb@ql.org>2024-01-05 23:10:32 +0100
commita0e70b370afcb628caabb3e8610d600fea6966f3 (patch)
tree1a86fd7d0a654a5db10ba351a824640dbe4d0ad0 /libqpdf/QPDFJob_json.cc
parent1921e44ca7ba50b48b1baa78d147b52fe1aae19a (diff)
downloadqpdf-a0e70b370afcb628caabb3e8610d600fea6966f3.tar.zst
Wiring for --set-page-labels: manual (non-bisectable commit)
This commit contains only the manual changes. It is separated for clarity. This commit would not pass CI because it lacks the automated changes, which appear in the next commit.
Diffstat (limited to 'libqpdf/QPDFJob_json.cc')
-rw-r--r--libqpdf/QPDFJob_json.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/libqpdf/QPDFJob_json.cc b/libqpdf/QPDFJob_json.cc
index d44652f4..754cb81b 100644
--- a/libqpdf/QPDFJob_json.cc
+++ b/libqpdf/QPDFJob_json.cc
@@ -66,6 +66,7 @@ namespace
std::shared_ptr<QPDFJob::PagesConfig> c_pages;
std::shared_ptr<QPDFJob::UOConfig> c_uo;
std::shared_ptr<QPDFJob::EncConfig> c_enc;
+ std::vector<std::string> accumulated_args;
};
} // namespace
@@ -565,6 +566,26 @@ Handlers::setupUnderlayPassword()
}
void
+Handlers::setupSetPageLabels()
+{
+ accumulated_args.clear();
+ addParameter([this](char const* p) { accumulated_args.push_back(p); });
+}
+
+void
+Handlers::endSetPageLabelsArray()
+{
+ c_main->setPageLabels(accumulated_args);
+ accumulated_args.clear();
+}
+
+void
+Handlers::beginSetPageLabelsArray(JSON)
+{
+ // nothing needed
+}
+
+void
QPDFJob::initializeFromJson(std::string const& json, bool partial)
{
std::list<std::string> errors;