summaryrefslogtreecommitdiff
path: root/bindings/hubbub
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/hubbub')
-rw-r--r--bindings/hubbub/parser.c21
-rw-r--r--bindings/hubbub/parser.h10
2 files changed, 31 insertions, 0 deletions
diff --git a/bindings/hubbub/parser.c b/bindings/hubbub/parser.c
index 4a90511..6299da5 100644
--- a/bindings/hubbub/parser.c
+++ b/bindings/hubbub/parser.c
@@ -911,3 +911,24 @@ const char *dom_hubbub_parser_get_encoding(dom_hubbub_parser *parser,
return parser->encoding != NULL ? parser->encoding
: "Windows-1252";
}
+
+/**
+ * Set the Parse pause state.
+ *
+ * \param parser The parser object
+ * \param pause The pause state to set.
+ * \return DOM_HUBBUB_OK on success,
+ * DOM_HUBBUB_HUBBUB_ERR | <hubbub_error> on failure
+ */
+dom_hubbub_error dom_hubbub_parser_pause(dom_hubbub_parser *parser, bool pause)
+{
+ hubbub_error err;
+ hubbub_parser_optparams params;
+
+ params.pause_parse = pause;
+ err = hubbub_parser_setopt(parser->parser, HUBBUB_PARSER_PAUSE, &params);
+ if (err != HUBBUB_OK)
+ return DOM_HUBBUB_HUBBUB_ERR | err;
+
+ return DOM_HUBBUB_OK;
+}
diff --git a/bindings/hubbub/parser.h b/bindings/hubbub/parser.h
index 7af0dd0..16b02a8 100644
--- a/bindings/hubbub/parser.h
+++ b/bindings/hubbub/parser.h
@@ -77,4 +77,14 @@ dom_document *dom_hubbub_parser_get_document(dom_hubbub_parser *parser);
const char *dom_hubbub_parser_get_encoding(dom_hubbub_parser *parser,
dom_hubbub_encoding_source *source);
+/**
+ * Set the Parse pause state.
+ *
+ * \param parser The parser object
+ * \param pause The pause state to set.
+ * \return DOM_HUBBUB_OK on success,
+ * DOM_HUBBUB_HUBBUB_ERR | <hubbub_error> on failure
+ */
+dom_hubbub_error dom_hubbub_parser_pause(dom_hubbub_parser *parser, bool pause);
+
#endif