summaryrefslogtreecommitdiff
path: root/include/dom/core
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/dom/core
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/dom/core')
-rw-r--r--include/dom/core/implementation.h11
1 files changed, 11 insertions, 0 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,