From 20267c9da40d931146cd2259001e6e94f511b870 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Thu, 12 Jul 2007 21:24:08 +0000 Subject: 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 --- include/dom/core/implementation.h | 48 +++++++++++++++++++++++++++++++++++++++ include/dom/core/impllist.h | 26 +++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 include/dom/core/implementation.h create mode 100644 include/dom/core/impllist.h (limited to 'include/dom/core') 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 + */ + +#ifndef dom_core_implementation_h_ +#define dom_core_implementation_h_ + +#include + +#include +#include + +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 + */ + +#ifndef dom_core_impllist_h_ +#define dom_core_impllist_h_ + +#include + +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 -- cgit v1.2.3