aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFJob_json.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-01-30 19:56:05 +0100
committerJay Berkenbilt <ejb@ql.org>2022-01-31 21:57:45 +0100
commitfa9676557e3065d75f732622bd498d5572ba686e (patch)
tree7421d5c17a5a3ca8ba6e4f63343da568e1e9844b /libqpdf/QPDFJob_json.cc
parent3b60224bae16f36e0b6caf13fe1e119b9fa1f6b1 (diff)
downloadqpdf-fa9676557e3065d75f732622bd498d5572ba686e.tar.zst
QDPFJob: incorporate change to JSONHandler for array start function
Diffstat (limited to 'libqpdf/QPDFJob_json.cc')
-rw-r--r--libqpdf/QPDFJob_json.cc59
1 files changed, 57 insertions, 2 deletions
diff --git a/libqpdf/QPDFJob_json.cc b/libqpdf/QPDFJob_json.cc
index 8ebbb926..22a092d5 100644
--- a/libqpdf/QPDFJob_json.cc
+++ b/libqpdf/QPDFJob_json.cc
@@ -37,7 +37,10 @@ namespace
void beginDict(std::string const& key,
json_handler_t start_fn,
bare_handler_t end_fn);
- void endDict();
+ void beginArray(std::string const& key,
+ json_handler_t start_fn,
+ bare_handler_t end_fn);
+ void endContainer();
bare_handler_t bindBare(void (Handlers::*f)());
json_handler_t bindJSON(void (Handlers::*f)(JSON));
@@ -194,7 +197,23 @@ Handlers::beginDict(std::string const& key,
}
void
-Handlers::endDict()
+Handlers::beginArray(std::string const& key,
+ json_handler_t start_fn,
+ bare_handler_t end_fn)
+{
+ auto new_jh = std::make_shared<JSONHandler>();
+ auto item_jh = std::make_shared<JSONHandler>();
+ new_jh->addArrayHandlers(
+ [start_fn](std::string const&, JSON j){ start_fn(j); },
+ [end_fn](std::string const&){ end_fn(); },
+ item_jh);
+ this->jh->addDictKeyHandler(key, new_jh);
+ this->json_handlers.push_back(item_jh);
+ this->jh = item_jh.get();
+}
+
+void
+Handlers::endContainer()
{
this->json_handlers.pop_back();
this->jh = this->json_handlers.back().get();
@@ -405,6 +424,18 @@ Handlers::endInspect()
}
void
+Handlers::beginOptionsAddAttachmentArray(JSON)
+{
+ // QXXXQ
+}
+
+void
+Handlers::endOptionsAddAttachmentArray()
+{
+ // QXXXQ
+}
+
+void
Handlers::beginOptionsAddAttachment(JSON)
{
this->c_att = c_main->addAttachment();
@@ -426,6 +457,18 @@ Handlers::setupOptionsAddAttachmentPath(std::string const& key)
}
void
+Handlers::beginOptionsCopyAttachmentsFromArray(JSON)
+{
+ // QXXXQ
+}
+
+void
+Handlers::endOptionsCopyAttachmentsFromArray()
+{
+ // QXXXQ
+}
+
+void
Handlers::beginOptionsCopyAttachmentsFrom(JSON)
{
this->c_copy_att = c_main->copyAttachmentsFrom();
@@ -455,6 +498,18 @@ Handlers::setupOptionsCopyAttachmentsFromPassword(std::string const& key)
}
void
+Handlers::beginOptionsPagesArray(JSON)
+{
+ // QXXXQ
+}
+
+void
+Handlers::endOptionsPagesArray()
+{
+ // QXXXQ
+}
+
+void
Handlers::beginOptionsPages(JSON)
{
// QXXXQ