diff options
Diffstat (limited to 'libqpdf/QPDFJob_json.cc')
-rw-r--r-- | libqpdf/QPDFJob_json.cc | 59 |
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 |