summaryrefslogtreecommitdiff
path: root/bindings/hubbub/parser.h
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2007-11-04 02:08:05 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2007-11-04 02:08:05 +0000
commit975de383a09510aae8d5a32f5fc97181fe2846a5 (patch)
tree081e9cd7931b54c03d46cadf312dad8dcf327844 /bindings/hubbub/parser.h
parent7b5b3cff17c9b0ba92d5c1b68d9852d28c108a48 (diff)
downloadlibdom-975de383a09510aae8d5a32f5fc97181fe2846a5.tar.gz
libdom-975de383a09510aae8d5a32f5fc97181fe2846a5.tar.bz2
Beginnings of a hubbub binding to libdom
Currently comprises a stubbed-out parser wrapper Todo: 1) Complete parser wrapper, such that it actually creates a DOM tree 2) Provide a hubbub-backed DOMImplementationSource svn path=/trunk/dom/; revision=3646
Diffstat (limited to 'bindings/hubbub/parser.h')
-rw-r--r--bindings/hubbub/parser.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/bindings/hubbub/parser.h b/bindings/hubbub/parser.h
new file mode 100644
index 0000000..65da1ea
--- /dev/null
+++ b/bindings/hubbub/parser.h
@@ -0,0 +1,40 @@
+/*
+ * This file is part of libdom.
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2007 John-Mark Bell <jmb@netsurf-browser.org>
+ */
+
+#ifndef dom_hubbub_parser_h_
+#define dom_hubbub_parser_h_
+
+#include <stddef.h>
+#include <inttypes.h>
+
+#include <dom/dom.h>
+
+#include "errors.h"
+
+struct dom_document;
+
+typedef struct dom_hubbub_parser dom_hubbub_parser;
+
+/* Create a Hubbub parser instance */
+dom_hubbub_parser *dom_hubbub_parser_create(const char *enc,
+ const char *int_enc, dom_alloc alloc, void *pw,
+ dom_msg msg, void *mctx);
+
+/* Destroy a Hubbub parser instance */
+void dom_hubbub_parser_destroy(dom_hubbub_parser *parser);
+
+/* Parse a chunk of data */
+dom_hubbub_error dom_hubbub_parser_parse_chunk(dom_hubbub_parser *parser,
+ uint8_t *data, size_t len);
+
+/* Notify parser that datastream is empty */
+dom_hubbub_error dom_hubbub_parser_completed(dom_hubbub_parser *parser);
+
+/* Retrieve the created DOM Document */
+struct dom_document *dom_hubbub_parser_get_document(dom_hubbub_parser *parser);
+
+#endif