summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2010-12-06 23:38:53 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2010-12-06 23:38:53 +0000
commitb79bcc3fef8a90c96b3db8dcb34ceea0f778e876 (patch)
treeb75a2f2c4609ccbc0fd4193dab4e861a44e3cd61 /include
parent6b110bebb8930b171145597cfa37ff1c1ac753f7 (diff)
downloadlibdom-b79bcc3fef8a90c96b3db8dcb34ceea0f778e876.tar.gz
libdom-b79bcc3fef8a90c96b3db8dcb34ceea0f778e876.tar.bz2
Provide mechanism for binding/client to define the features a document object should support.
Utilise this to decide whether to create a raw Document or an HTMLDocument instance. Disable the above decision, as the HTMLDocument implementation is garbage svn path=/trunk/libdom/; revision=11025
Diffstat (limited to 'include')
-rw-r--r--include/dom/core/implementation.h11
-rw-r--r--include/dom/html/html_document.h2
2 files changed, 12 insertions, 1 deletions
diff --git a/include/dom/core/implementation.h b/include/dom/core/implementation.h
index 6b3f143..0094217 100644
--- a/include/dom/core/implementation.h
+++ b/include/dom/core/implementation.h
@@ -19,6 +19,16 @@ struct dom_document_type;
typedef const char *dom_implementation;
+typedef enum dom_implementation_type {
+ DOM_IMPLEMENTATION_CORE = 0,
+ DOM_IMPLEMENTATION_XML = (1 << 0), /* not implemented */
+ DOM_IMPLEMENTATION_HTML = (1 << 1),
+
+ DOM_IMPLEMENTATION_ALL = DOM_IMPLEMENTATION_CORE |
+ DOM_IMPLEMENTATION_XML |
+ DOM_IMPLEMENTATION_HTML
+} dom_implementation_type;
+
dom_exception dom_implementation_has_feature(
const char *feature, const char *version,
bool *result);
@@ -30,6 +40,7 @@ dom_exception dom_implementation_create_document_type(
struct dom_document_type **doctype);
dom_exception dom_implementation_create_document(
+ uint32_t impl_type,
const char *namespace, const char *qname,
struct dom_document_type *doctype,
dom_alloc alloc, void *pw,
diff --git a/include/dom/html/html_document.h b/include/dom/html/html_document.h
index 00a355e..230024a 100644
--- a/include/dom/html/html_document.h
+++ b/include/dom/html/html_document.h
@@ -43,7 +43,7 @@ typedef struct dom_ui_handler dom_ui_handler;
/* Create a HTMLDocument */
dom_exception dom_html_document_create(dom_alloc alloc, void *pw, dom_msg msg,
void *msg_pw,
- dom_events_default_action_fetcher daf, dom_ui_handler ui,
+ dom_events_default_action_fetcher daf, dom_ui_handler *ui,
dom_parser_type pt, dom_html_document **doc);
/* Parse a data chunk into the HTMLDocument */