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 | 0448f3de0bc3e9aa71bd095e87fd1cc2584e0a99 (patch) | |
tree | 9ad95bcba5e6f988763835f24b40e773551f53f6 /include/dom/core | |
parent | 92311b20c73b13766fb93c123c67e5045356ff49 (diff) | |
download | libdom-0448f3de0bc3e9aa71bd095e87fd1cc2584e0a99.tar.gz libdom-0448f3de0bc3e9aa71bd095e87fd1cc2584e0a99.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')
-rw-r--r-- | include/dom/core/implementation.h | 48 | ||||
-rw-r--r-- | include/dom/core/impllist.h | 26 |
2 files changed, 74 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 diff --git a/include/dom/core/impllist.h b/include/dom/core/impllist.h new file mode 100644 index 0000000..af303ae --- /dev/null +++ b/include/dom/core/impllist.h @@ -0,0 +1,26 @@ +/* + * 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_impllist_h_ +#define dom_core_impllist_h_ + +#include <dom/core/exceptions.h> + +struct dom_implementation; +struct dom_implementation_list; + +void dom_implementation_list_ref(struct dom_implementation_list *list); +void dom_implementation_list_unref(struct dom_implementation_list *list); + +dom_exception dom_implementation_list_get_length( + struct dom_implementation_list *list, unsigned long *length); + +dom_exception dom_implementation_list_item( + struct dom_implementation_list *list, unsigned long index, + struct dom_implementation **impl); + +#endif |