aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/JSONHandler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libqpdf/JSONHandler.cc')
-rw-r--r--libqpdf/JSONHandler.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/libqpdf/JSONHandler.cc b/libqpdf/JSONHandler.cc
index d6021935..a3ff4555 100644
--- a/libqpdf/JSONHandler.cc
+++ b/libqpdf/JSONHandler.cc
@@ -4,6 +4,25 @@
#include <qpdf/QTC.hh>
#include <qpdf/QUtil.hh>
+struct Handlers
+{
+ Handlers() = default;
+
+ JSONHandler::json_handler_t any_handler{nullptr};
+ JSONHandler::void_handler_t null_handler{nullptr};
+ JSONHandler::string_handler_t string_handler{nullptr};
+ JSONHandler::string_handler_t number_handler{nullptr};
+ JSONHandler::bool_handler_t bool_handler{nullptr};
+ JSONHandler::json_handler_t dict_start_handler{nullptr};
+ JSONHandler::void_handler_t dict_end_handler{nullptr};
+ JSONHandler::json_handler_t array_start_handler{nullptr};
+ JSONHandler::void_handler_t array_end_handler{nullptr};
+ JSONHandler::void_handler_t final_handler{nullptr};
+ std::map<std::string, std::shared_ptr<JSONHandler>> dict_handlers;
+ std::shared_ptr<JSONHandler> fallback_dict_handler;
+ std::shared_ptr<JSONHandler> array_item_handler;
+};
+
class JSONHandler::Members
{
friend class JSONHandler;