diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2007-07-12 21:24:08 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2007-07-12 21:24:08 +0000 |
commit | 20267c9da40d931146cd2259001e6e94f511b870 (patch) | |
tree | 9ad95bcba5e6f988763835f24b40e773551f53f6 /include/dom/core/implementation.h | |
parent | 9bf2122dbcde29eb2efa1b0a3acddae59dd2ff10 (diff) | |
download | libdom-20267c9da40d931146cd2259001e6e94f511b870.tar.gz libdom-20267c9da40d931146cd2259001e6e94f511b870.tar.bz2 |
Add DOMImplementation, DOMImplementationList
Add DOMImplementationRegistry
Define DOMImplementationSource and provide API to allow their registration
This little lot should permit some kind of sensible DOM bootstrapping.
svn path=/trunk/dom/; revision=3403
Diffstat (limited to 'include/dom/core/implementation.h')
-rw-r--r-- | include/dom/core/implementation.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/include/dom/core/implementation.h b/include/dom/core/implementation.h new file mode 100644 index 0000000..3f42ab7 --- /dev/null +++ b/include/dom/core/implementation.h @@ -0,0 +1,48 @@ +/* + * 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_core_implementation_h_ +#define dom_core_implementation_h_ + +#include <stdbool.h> + +#include <dom/core/exceptions.h> +#include <dom/functypes.h> + +struct dom_document; +struct dom_document_type; +struct dom_implementation; +struct dom_string; + +void dom_implementation_ref(struct dom_implementation *impl); +void dom_implementation_unref(struct dom_implementation *impl); + +dom_exception dom_implementation_has_feature( + struct dom_implementation *impl, + struct dom_string *feature, struct dom_string *version, + bool *result); + +dom_exception dom_implementation_create_document_type( + struct dom_implementation *impl, struct dom_string *qname, + struct dom_string *public_id, struct dom_string *system_id, + struct dom_document_type **doctype, + dom_alloc alloc, void *pw); + +dom_exception dom_implementation_create_document( + struct dom_implementation *impl, + struct dom_string *namespace, struct dom_string *qname, + struct dom_document_type *doctype, + struct dom_document **doc, + dom_alloc alloc, void *pw); + +dom_exception dom_implementation_get_feature( + struct dom_implementation *impl, + struct dom_string *feature, struct dom_string *version, + void **object, + dom_alloc alloc, void *pw); + +#endif |