From 7b193ec6c254488870c0360a2a5bf004d1d848b4 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Sun, 5 Feb 2012 14:33:17 +0000 Subject: A bunch of panel beating: * HTMLElement and HTMLDocument now have vtables * All HTML nodes require an HTMLDocument to create * Miscellaneous other cleanups svn path=/trunk/libdom/; revision=13424 --- src/html/html_base_element.c | 5 +- src/html/html_base_element.h | 4 +- src/html/html_body_element.c | 5 +- src/html/html_body_element.h | 4 +- src/html/html_collection.c | 5 +- src/html/html_collection.h | 6 +- src/html/html_document.c | 42 ++++++++++--- src/html/html_document.h | 16 ++++- src/html/html_element.c | 126 ++++++++++++++++++++++++++++++++++++- src/html/html_element.h | 43 ++++++++++++- src/html/html_form_element.c | 10 +-- src/html/html_form_element.h | 4 +- src/html/html_head_element.c | 5 +- src/html/html_head_element.h | 4 +- src/html/html_html_element.c | 5 +- src/html/html_html_element.h | 4 +- src/html/html_isindex_element.c | 5 +- src/html/html_isindex_element.h | 4 +- src/html/html_link_element.c | 5 +- src/html/html_link_element.h | 4 +- src/html/html_meta_element.c | 5 +- src/html/html_meta_element.h | 4 +- src/html/html_options_collection.c | 5 +- src/html/html_options_collection.h | 4 +- src/html/html_select_element.c | 10 +-- src/html/html_select_element.h | 4 +- src/html/html_style_element.c | 5 +- src/html/html_style_element.h | 4 +- src/html/html_title_element.c | 5 +- src/html/html_title_element.h | 4 +- 30 files changed, 271 insertions(+), 85 deletions(-) (limited to 'src/html') diff --git a/src/html/html_base_element.c b/src/html/html_base_element.c index 5bfd245..4c51d12 100644 --- a/src/html/html_base_element.c +++ b/src/html/html_base_element.c @@ -10,7 +10,6 @@ #include "html/html_base_element.h" #include "core/node.h" -#include "core/document.h" #include "utils/utils.h" static struct dom_element_protected_vtable _protect_vtable = { @@ -27,7 +26,7 @@ static struct dom_element_protected_vtable _protect_vtable = { * \param ele The returned element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_base_element_create(struct dom_document *doc, +dom_exception _dom_html_base_element_create(struct dom_html_document *doc, struct dom_html_base_element **ele) { *ele = malloc(sizeof(dom_html_base_element)); @@ -49,7 +48,7 @@ dom_exception _dom_html_base_element_create(struct dom_document *doc, * \param ele The dom_html_base_element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_base_element_initialise(struct dom_document *doc, +dom_exception _dom_html_base_element_initialise(struct dom_html_document *doc, struct dom_html_base_element *ele) { dom_string *name = NULL; diff --git a/src/html/html_base_element.h b/src/html/html_base_element.h index ab5641a..7a04b29 100644 --- a/src/html/html_base_element.h +++ b/src/html/html_base_element.h @@ -18,11 +18,11 @@ struct dom_html_base_element { }; /* Create a dom_html_base_element object */ -dom_exception _dom_html_base_element_create(struct dom_document *doc, +dom_exception _dom_html_base_element_create(struct dom_html_document *doc, struct dom_html_base_element **ele); /* Initialise a dom_html_base_element object */ -dom_exception _dom_html_base_element_initialise(struct dom_document *doc, +dom_exception _dom_html_base_element_initialise(struct dom_html_document *doc, struct dom_html_base_element *ele); /* Finalise a dom_html_base_element object */ diff --git a/src/html/html_body_element.c b/src/html/html_body_element.c index d29c86c..e1a6751 100644 --- a/src/html/html_body_element.c +++ b/src/html/html_body_element.c @@ -10,7 +10,6 @@ #include "html/html_body_element.h" #include "core/node.h" -#include "core/document.h" #include "utils/utils.h" static struct dom_element_protected_vtable _protect_vtable = { @@ -27,7 +26,7 @@ static struct dom_element_protected_vtable _protect_vtable = { * \param ele The returned element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_body_element_create(struct dom_document *doc, +dom_exception _dom_html_body_element_create(struct dom_html_document *doc, struct dom_html_body_element **ele) { *ele = malloc(sizeof(dom_html_body_element)); @@ -49,7 +48,7 @@ dom_exception _dom_html_body_element_create(struct dom_document *doc, * \param ele The dom_html_body_element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_body_element_initialise(struct dom_document *doc, +dom_exception _dom_html_body_element_initialise(struct dom_html_document *doc, struct dom_html_body_element *ele) { dom_string *name = NULL; diff --git a/src/html/html_body_element.h b/src/html/html_body_element.h index 028cac3..abf77da 100644 --- a/src/html/html_body_element.h +++ b/src/html/html_body_element.h @@ -18,11 +18,11 @@ struct dom_html_body_element { }; /* Create a dom_html_body_element object */ -dom_exception _dom_html_body_element_create(struct dom_document *doc, +dom_exception _dom_html_body_element_create(struct dom_html_document *doc, struct dom_html_body_element **ele); /* Initialise a dom_html_body_element object */ -dom_exception _dom_html_body_element_initialise(struct dom_document *doc, +dom_exception _dom_html_body_element_initialise(struct dom_html_document *doc, struct dom_html_body_element *ele); /* Finalise a dom_html_body_element object */ diff --git a/src/html/html_collection.c b/src/html/html_collection.c index 03ac6ae..ec96e66 100644 --- a/src/html/html_collection.c +++ b/src/html/html_collection.c @@ -13,7 +13,6 @@ #include "html/html_collection.h" #include "core/node.h" -#include "core/document.h" #include "core/element.h" #include "core/string.h" @@ -30,7 +29,7 @@ * \param col The result collection object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_collection_create(struct dom_document *doc, +dom_exception _dom_html_collection_create(struct dom_html_document *doc, struct dom_node_internal *root, dom_callback_is_in_collection ic, struct dom_html_collection **col) @@ -52,7 +51,7 @@ dom_exception _dom_html_collection_create(struct dom_document *doc, * belongs to the collection * \return DOM_NO_ERR on success. */ -dom_exception _dom_html_collection_initialise(struct dom_document *doc, +dom_exception _dom_html_collection_initialise(struct dom_html_document *doc, struct dom_html_collection *col, struct dom_node_internal *root, dom_callback_is_in_collection ic) diff --git a/src/html/html_collection.h b/src/html/html_collection.h index dc9e67d..634d2d3 100644 --- a/src/html/html_collection.h +++ b/src/html/html_collection.h @@ -23,7 +23,7 @@ struct dom_html_collection { * whether some node is an element of * this collection */ - struct dom_document *doc; /**< The document created this + struct dom_html_document *doc; /**< The document created this * collection */ struct dom_node_internal *root; @@ -32,12 +32,12 @@ struct dom_html_collection { /**< Reference counting */ }; -dom_exception _dom_html_collection_create(struct dom_document *doc, +dom_exception _dom_html_collection_create(struct dom_html_document *doc, struct dom_node_internal *root, dom_callback_is_in_collection ic, struct dom_html_collection **col); -dom_exception _dom_html_collection_initialise(struct dom_document *doc, +dom_exception _dom_html_collection_initialise(struct dom_html_document *doc, struct dom_html_collection *col, struct dom_node_internal *root, dom_callback_is_in_collection ic); diff --git a/src/html/html_document.c b/src/html/html_document.c index 4cb26e6..673615e 100644 --- a/src/html/html_document.c +++ b/src/html/html_document.c @@ -13,9 +13,25 @@ #include "core/string.h" #include "utils/utils.h" +static struct dom_html_document_vtable html_document_vtable = { + { + { + { + DOM_NODE_EVENT_TARGET_VTABLE + }, + DOM_NODE_VTABLE, + }, + DOM_DOCUMENT_VTABLE + } +}; + +static struct dom_node_protect_vtable html_document_protect_vtable = { + DOM_HTML_DOCUMENT_PROTECT_VTABLE +}; + /* Create a HTMLDocument */ -dom_exception dom_html_document_create( - dom_events_default_action_fetcher daf, dom_ui_handler *ui, +dom_exception _dom_html_document_create( + dom_events_default_action_fetcher daf, dom_html_document **doc) { dom_exception error; @@ -24,8 +40,11 @@ dom_exception dom_html_document_create( result = malloc(sizeof(dom_html_document)); if (result == NULL) return DOM_NO_MEM_ERR; + + result->base.base.base.vtable = &html_document_vtable; + result->base.base.vtable = &html_document_protect_vtable; - error = _dom_html_document_initialise(*doc, daf, ui); + error = _dom_html_document_initialise(*doc, daf); if (error != DOM_NO_ERR) { free(result); return error; @@ -37,12 +56,10 @@ dom_exception dom_html_document_create( /* Initialise a HTMLDocument */ dom_exception _dom_html_document_initialise(dom_html_document *doc, - dom_events_default_action_fetcher daf, dom_ui_handler *ui) + dom_events_default_action_fetcher daf) { dom_exception error; - UNUSED(ui); - error = _dom_document_initialise(&doc->base, daf); if (error != DOM_NO_ERR) return error; @@ -69,13 +86,24 @@ void _dom_html_document_finalise(dom_html_document *doc) } /* Destroy a HTMLDocument */ -void _dom_html_document_destroy(dom_html_document *doc) +void _dom_html_document_destroy(dom_node_internal *node) { + dom_html_document *doc = (dom_html_document *) node; + _dom_html_document_finalise(doc); free(doc); } +dom_exception _dom_html_document_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + UNUSED(old); + UNUSED(copy); + + return DOM_NOT_SUPPORTED_ERR; +} + /*-----------------------------------------------------------------------*/ /* The DOM spec public API */ diff --git a/src/html/html_document.h b/src/html/html_document.h index ad3ff6d..28041d6 100644 --- a/src/html/html_document.h +++ b/src/html/html_document.h @@ -25,13 +25,23 @@ struct dom_html_document { dom_string *cookie; /**< HTML document cookie */ }; +/* Create a HTMLDocument */ +dom_exception _dom_html_document_create( + dom_events_default_action_fetcher daf, + dom_html_document **doc); /* Initialise a HTMLDocument */ dom_exception _dom_html_document_initialise(dom_html_document *doc, - dom_events_default_action_fetcher daf, dom_ui_handler *ui); + dom_events_default_action_fetcher daf); /* Finalise a HTMLDocument */ void _dom_html_document_finalise(dom_html_document *doc); -/* Destroy a HTMLDocument */ -void _dom_html_document_destroy(dom_html_document *doc); + +void _dom_html_document_destroy(dom_node_internal *node); +dom_exception _dom_html_document_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_DOCUMENT_PROTECT_VTABLE \ + _dom_html_document_destroy, \ + _dom_html_document_copy #endif diff --git a/src/html/html_element.c b/src/html/html_element.c index bd095d8..fd7dbd2 100644 --- a/src/html/html_element.c +++ b/src/html/html_element.c @@ -8,6 +8,7 @@ #include #include +#include "html/html_document.h" #include "html/html_element.h" #include "core/node.h" @@ -15,13 +16,59 @@ #include "core/document.h" #include "utils/utils.h" -dom_exception _dom_html_element_initialise(struct dom_document *doc, +static struct dom_html_element_vtable _dom_html_element_vtable = { + { + { + { + DOM_NODE_EVENT_TARGET_VTABLE + }, + DOM_NODE_VTABLE_ELEMENT, + }, + DOM_ELEMENT_VTABLE + }, + DOM_HTML_ELEMENT_VTABLE +}; + +static struct dom_element_protected_vtable _dom_html_element_protect_vtable = { + { + DOM_HTML_ELEMENT_PROTECT_VTABLE + }, + DOM_ELEMENT_PROTECT_VTABLE +}; + +dom_exception _dom_html_element_create(struct dom_html_document *doc, + dom_string *name, dom_string *namespace, + dom_string *prefix, struct dom_html_element **result) +{ + dom_exception error; + dom_html_element *el; + + el = malloc(sizeof(struct dom_html_element)); + if (el == NULL) + return DOM_NO_MEM_ERR; + + el->base.base.base.vtable = &_dom_html_element_vtable; + el->base.base.vtable = &_dom_html_element_protect_vtable; + + error = _dom_html_element_initialise(doc, el, name, namespace, + prefix); + if (error != DOM_NO_ERR) { + free(el); + return error; + } + + *result = el; + + return DOM_NO_ERR; +} + +dom_exception _dom_html_element_initialise(struct dom_html_document *doc, struct dom_html_element *el, dom_string *name, dom_string *namespace, dom_string *prefix) { dom_exception err; - err = _dom_element_initialise(doc, &el->base, name, namespace, prefix); + err = _dom_element_initialise(&doc->base, &el->base, name, namespace, prefix); if (err != DOM_NO_ERR) return err; @@ -37,7 +84,7 @@ void _dom_html_element_finalise(struct dom_html_element *ele) /* The protected virtual functions */ /* The virtual destroy function, see src/core/node.c for detail */ -void _dom_virtual_html_element_destroy(dom_node_internal *node) +void _dom_html_element_destroy(dom_node_internal *node) { UNUSED(node); assert("Should never be here" == NULL); @@ -87,6 +134,79 @@ dom_exception _dom_html_element_set_id(dom_html_element *element, return ret; } +dom_exception _dom_html_element_get_title(dom_html_element *element, + dom_string **title) +{ + UNUSED(element); + UNUSED(title); + + return DOM_NOT_SUPPORTED_ERR; +} + +dom_exception _dom_html_element_set_title(dom_html_element *element, + dom_string *title) +{ + UNUSED(element); + UNUSED(title); + + return DOM_NOT_SUPPORTED_ERR; +} + +dom_exception _dom_html_element_get_lang(dom_html_element *element, + dom_string **lang) +{ + UNUSED(element); + UNUSED(lang); + + return DOM_NOT_SUPPORTED_ERR; +} + +dom_exception _dom_html_element_set_lang(dom_html_element *element, + dom_string *lang) +{ + UNUSED(element); + UNUSED(lang); + + return DOM_NOT_SUPPORTED_ERR; +} + +dom_exception _dom_html_element_get_dir(dom_html_element *element, + dom_string **dir) +{ + UNUSED(element); + UNUSED(dir); + + return DOM_NOT_SUPPORTED_ERR; +} + +dom_exception _dom_html_element_set_dir(dom_html_element *element, + dom_string *dir) +{ + UNUSED(element); + UNUSED(dir); + + return DOM_NOT_SUPPORTED_ERR; +} + +dom_exception _dom_html_element_get_classname(dom_html_element *element, + dom_string **classname) +{ + UNUSED(element); + UNUSED(classname); + + return DOM_NOT_SUPPORTED_ERR; +} + +dom_exception _dom_html_element_set_classname(dom_html_element *element, + dom_string *classname) +{ + UNUSED(element); + UNUSED(classname); + + return DOM_NOT_SUPPORTED_ERR; +} + + /*-----------------------------------------------------------------------*/ /* Common functions */ diff --git a/src/html/html_element.h b/src/html/html_element.h index e183ec3..3194cba 100644 --- a/src/html/html_element.h +++ b/src/html/html_element.h @@ -12,6 +12,8 @@ #include "core/element.h" +struct dom_html_document; + /** * The dom_html_element class * @@ -21,22 +23,59 @@ struct dom_html_element { /**< The base class */ }; -dom_exception _dom_html_element_initialise(struct dom_document *doc, +dom_exception _dom_html_element_create(struct dom_html_document *doc, + dom_string *name, dom_string *namespace, + dom_string *prefix, dom_html_element **result); + +dom_exception _dom_html_element_initialise(struct dom_html_document *doc, struct dom_html_element *el, dom_string *name, dom_string *namespace, dom_string *prefix); void _dom_html_element_finalise(struct dom_html_element *ele); /* The protected virtual functions */ -void _dom_virtual_html_element_destroy(dom_node_internal *node); +void _dom_html_element_destroy(dom_node_internal *node); dom_exception _dom_html_element_copy(dom_node_internal *old, dom_node_internal **copy); +#define DOM_HTML_ELEMENT_PROTECT_VTABLE \ + _dom_html_element_destroy, \ + _dom_html_element_copy + + /* The API functions */ dom_exception _dom_html_element_get_id(dom_html_element *element, dom_string **id); dom_exception _dom_html_element_set_id(dom_html_element *element, dom_string *id); +dom_exception _dom_html_element_get_title(dom_html_element *element, + dom_string **title); +dom_exception _dom_html_element_set_title(dom_html_element *element, + dom_string *title); +dom_exception _dom_html_element_get_lang(dom_html_element *element, + dom_string **lang); +dom_exception _dom_html_element_set_lang(dom_html_element *element, + dom_string *lang); +dom_exception _dom_html_element_get_dir(dom_html_element *element, + dom_string **dir); +dom_exception _dom_html_element_set_dir(dom_html_element *element, + dom_string *dir); +dom_exception _dom_html_element_get_classname(dom_html_element *element, + dom_string **classname); +dom_exception _dom_html_element_set_classname(dom_html_element *element, + dom_string *classname); + +#define DOM_HTML_ELEMENT_VTABLE \ + _dom_html_element_get_id, \ + _dom_html_element_set_id, \ + _dom_html_element_get_title, \ + _dom_html_element_set_title, \ + _dom_html_element_get_lang, \ + _dom_html_element_set_lang, \ + _dom_html_element_get_dir, \ + _dom_html_element_set_dir, \ + _dom_html_element_get_classname, \ + _dom_html_element_set_classname /* Some common functions used by all child classes */ dom_exception dom_html_element_get_bool_property(dom_html_element *ele, diff --git a/src/html/html_form_element.c b/src/html/html_form_element.c index ec5b110..20a9cac 100644 --- a/src/html/html_form_element.c +++ b/src/html/html_form_element.c @@ -11,9 +11,9 @@ #include "html/html_form_element.h" #include "html/html_collection.h" +#include "html/html_document.h" #include "core/node.h" -#include "core/document.h" #include "utils/utils.h" static struct dom_element_protected_vtable _protect_vtable = { @@ -32,7 +32,7 @@ static bool _dom_is_form_control(struct dom_node_internal *node); * \param ele The returned element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_form_element_create(struct dom_document *doc, +dom_exception _dom_html_form_element_create(struct dom_html_document *doc, struct dom_html_form_element **ele) { *ele = malloc(sizeof(dom_html_form_element)); @@ -54,7 +54,7 @@ dom_exception _dom_html_form_element_create(struct dom_document *doc, * \param ele The dom_html_form_element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_form_element_initialise(struct dom_document *doc, +dom_exception _dom_html_form_element_initialise(struct dom_html_document *doc, struct dom_html_form_element *ele) { dom_string *name = NULL; @@ -140,7 +140,7 @@ dom_exception dom_html_form_element_get_elements(dom_html_form_element *ele, dom_exception err; if (ele->col == NULL) { - dom_document *doc = dom_node_get_owner(ele); + dom_html_document *doc = (dom_html_document *) dom_node_get_owner(ele); assert(doc != NULL); err = _dom_html_collection_create(doc, (dom_node_internal *) ele, @@ -170,7 +170,7 @@ dom_exception dom_html_form_element_get_length(dom_html_form_element *ele, dom_exception err; if (ele->col == NULL) { - dom_document *doc = dom_node_get_owner(ele); + dom_html_document *doc = (dom_html_document *) dom_node_get_owner(ele); assert(doc != NULL); err = _dom_html_collection_create(doc, (dom_node_internal *) ele, diff --git a/src/html/html_form_element.h b/src/html/html_form_element.h index 3dc66e1..dbf6267 100644 --- a/src/html/html_form_element.h +++ b/src/html/html_form_element.h @@ -22,11 +22,11 @@ struct dom_html_form_element { }; /* Create a dom_html_form_element object */ -dom_exception _dom_html_form_element_create(struct dom_document *doc, +dom_exception _dom_html_form_element_create(struct dom_html_document *doc, struct dom_html_form_element **ele); /* Initialise a dom_html_form_element object */ -dom_exception _dom_html_form_element_initialise(struct dom_document *doc, +dom_exception _dom_html_form_element_initialise(struct dom_html_document *doc, struct dom_html_form_element *ele); /* Finalise a dom_html_form_element object */ diff --git a/src/html/html_head_element.c b/src/html/html_head_element.c index ec8070a..e3e23bd 100644 --- a/src/html/html_head_element.c +++ b/src/html/html_head_element.c @@ -10,7 +10,6 @@ #include "html/html_head_element.h" #include "core/node.h" -#include "core/document.h" #include "utils/utils.h" static struct dom_element_protected_vtable _protect_vtable = { @@ -27,7 +26,7 @@ static struct dom_element_protected_vtable _protect_vtable = { * \param ele The returned element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_head_element_create(struct dom_document *doc, +dom_exception _dom_html_head_element_create(struct dom_html_document *doc, struct dom_html_head_element **ele) { *ele = malloc(sizeof(dom_html_head_element)); @@ -49,7 +48,7 @@ dom_exception _dom_html_head_element_create(struct dom_document *doc, * \param ele The dom_html_head_element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_head_element_initialise(struct dom_document *doc, +dom_exception _dom_html_head_element_initialise(struct dom_html_document *doc, struct dom_html_head_element *ele) { dom_string *name = NULL; diff --git a/src/html/html_head_element.h b/src/html/html_head_element.h index c917593..aa6e21a 100644 --- a/src/html/html_head_element.h +++ b/src/html/html_head_element.h @@ -18,11 +18,11 @@ struct dom_html_head_element { }; /* Create a dom_html_head_element object */ -dom_exception _dom_html_head_element_create(struct dom_document *doc, +dom_exception _dom_html_head_element_create(struct dom_html_document *doc, struct dom_html_head_element **ele); /* Initialise a dom_html_head_element object */ -dom_exception _dom_html_head_element_initialise(struct dom_document *doc, +dom_exception _dom_html_head_element_initialise(struct dom_html_document *doc, struct dom_html_head_element *ele); /* Finalise a dom_html_head_element object */ diff --git a/src/html/html_html_element.c b/src/html/html_html_element.c index 9083394..cb0682c 100644 --- a/src/html/html_html_element.c +++ b/src/html/html_html_element.c @@ -10,7 +10,6 @@ #include "html/html_html_element.h" #include "core/node.h" -#include "core/document.h" #include "utils/utils.h" static struct dom_element_protected_vtable _protect_vtable = { @@ -27,7 +26,7 @@ static struct dom_element_protected_vtable _protect_vtable = { * \param ele The returned element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_html_element_create(struct dom_document *doc, +dom_exception _dom_html_html_element_create(struct dom_html_document *doc, struct dom_html_html_element **ele) { *ele = malloc(sizeof(dom_html_html_element)); @@ -49,7 +48,7 @@ dom_exception _dom_html_html_element_create(struct dom_document *doc, * \param ele The dom_html_html_element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_html_element_initialise(struct dom_document *doc, +dom_exception _dom_html_html_element_initialise(struct dom_html_document *doc, struct dom_html_html_element *ele) { dom_string *name = NULL; diff --git a/src/html/html_html_element.h b/src/html/html_html_element.h index e6f1737..f943f7b 100644 --- a/src/html/html_html_element.h +++ b/src/html/html_html_element.h @@ -18,11 +18,11 @@ struct dom_html_html_element { }; /* Create a dom_html_html_element object */ -dom_exception _dom_html_html_element_create(struct dom_document *doc, +dom_exception _dom_html_html_element_create(struct dom_html_document *doc, struct dom_html_html_element **ele); /* Initialise a dom_html_html_element object */ -dom_exception _dom_html_html_element_initialise(struct dom_document *doc, +dom_exception _dom_html_html_element_initialise(struct dom_html_document *doc, struct dom_html_html_element *ele); /* Finalise a dom_html_html_element object */ diff --git a/src/html/html_isindex_element.c b/src/html/html_isindex_element.c index 0c02c22..48991a9 100644 --- a/src/html/html_isindex_element.c +++ b/src/html/html_isindex_element.c @@ -10,7 +10,6 @@ #include "html/html_isindex_element.h" #include "core/node.h" -#include "core/document.h" #include "utils/utils.h" static struct dom_element_protected_vtable _protect_vtable = { @@ -28,7 +27,7 @@ static struct dom_element_protected_vtable _protect_vtable = { * \param ele The returned element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_isindex_element_create(struct dom_document *doc, +dom_exception _dom_html_isindex_element_create(struct dom_html_document *doc, struct dom_html_form_element *form, struct dom_html_isindex_element **ele) { @@ -52,7 +51,7 @@ dom_exception _dom_html_isindex_element_create(struct dom_document *doc, * \param ele The dom_html_isindex_element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_isindex_element_initialise(struct dom_document *doc, +dom_exception _dom_html_isindex_element_initialise(struct dom_html_document *doc, struct dom_html_form_element *form, struct dom_html_isindex_element *ele) { diff --git a/src/html/html_isindex_element.h b/src/html/html_isindex_element.h index 9cf9a02..12ad26e 100644 --- a/src/html/html_isindex_element.h +++ b/src/html/html_isindex_element.h @@ -18,12 +18,12 @@ struct dom_html_isindex_element { }; /* Create a dom_html_isindex_element object */ -dom_exception _dom_html_isindex_element_create(struct dom_document *doc, +dom_exception _dom_html_isindex_element_create(struct dom_html_document *doc, struct dom_html_form_element *form, struct dom_html_isindex_element **ele); /* Initialise a dom_html_isindex_element object */ -dom_exception _dom_html_isindex_element_initialise(struct dom_document *doc, +dom_exception _dom_html_isindex_element_initialise(struct dom_html_document *doc, struct dom_html_form_element *form, struct dom_html_isindex_element *ele); diff --git a/src/html/html_link_element.c b/src/html/html_link_element.c index 35362c6..eb826ce 100644 --- a/src/html/html_link_element.c +++ b/src/html/html_link_element.c @@ -12,7 +12,6 @@ #include "core/node.h" #include "core/attr.h" -#include "core/document.h" #include "utils/utils.h" static struct dom_element_protected_vtable _protect_vtable = { @@ -29,7 +28,7 @@ static struct dom_element_protected_vtable _protect_vtable = { * \param ele The returned element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_link_element_create(struct dom_document *doc, +dom_exception _dom_html_link_element_create(struct dom_html_document *doc, struct dom_html_link_element **ele) { *ele = malloc(sizeof(dom_html_link_element)); @@ -51,7 +50,7 @@ dom_exception _dom_html_link_element_create(struct dom_document *doc, * \param ele The dom_html_link_element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_link_element_initialise(struct dom_document *doc, +dom_exception _dom_html_link_element_initialise(struct dom_html_document *doc, struct dom_html_link_element *ele) { dom_string *name = NULL; diff --git a/src/html/html_link_element.h b/src/html/html_link_element.h index 23abd33..b281cfb 100644 --- a/src/html/html_link_element.h +++ b/src/html/html_link_element.h @@ -18,11 +18,11 @@ struct dom_html_link_element { }; /* Create a dom_html_link_element object */ -dom_exception _dom_html_link_element_create(struct dom_document *doc, +dom_exception _dom_html_link_element_create(struct dom_html_document *doc, struct dom_html_link_element **ele); /* Initialise a dom_html_link_element object */ -dom_exception _dom_html_link_element_initialise(struct dom_document *doc, +dom_exception _dom_html_link_element_initialise(struct dom_html_document *doc, struct dom_html_link_element *ele); /* Finalise a dom_html_link_element object */ diff --git a/src/html/html_meta_element.c b/src/html/html_meta_element.c index 2ec64c3..646ca48 100644 --- a/src/html/html_meta_element.c +++ b/src/html/html_meta_element.c @@ -10,7 +10,6 @@ #include "html/html_meta_element.h" #include "core/node.h" -#include "core/document.h" #include "utils/utils.h" static struct dom_element_protected_vtable _protect_vtable = { @@ -27,7 +26,7 @@ static struct dom_element_protected_vtable _protect_vtable = { * \param ele The returned element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_meta_element_create(struct dom_document *doc, +dom_exception _dom_html_meta_element_create(struct dom_html_document *doc, struct dom_html_meta_element **ele) { *ele = malloc(sizeof(dom_html_meta_element)); @@ -49,7 +48,7 @@ dom_exception _dom_html_meta_element_create(struct dom_document *doc, * \param ele The dom_html_meta_element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_meta_element_initialise(struct dom_document *doc, +dom_exception _dom_html_meta_element_initialise(struct dom_html_document *doc, struct dom_html_meta_element *ele) { dom_string *name = NULL; diff --git a/src/html/html_meta_element.h b/src/html/html_meta_element.h index 5674ceb..d302d24 100644 --- a/src/html/html_meta_element.h +++ b/src/html/html_meta_element.h @@ -18,11 +18,11 @@ struct dom_html_meta_element { }; /* Create a dom_html_meta_element object */ -dom_exception _dom_html_meta_element_create(struct dom_document *doc, +dom_exception _dom_html_meta_element_create(struct dom_html_document *doc, struct dom_html_meta_element **ele); /* Initialise a dom_html_meta_element object */ -dom_exception _dom_html_meta_element_initialise(struct dom_document *doc, +dom_exception _dom_html_meta_element_initialise(struct dom_html_document *doc, struct dom_html_meta_element *ele); /* Finalise a dom_html_meta_element object */ diff --git a/src/html/html_options_collection.c b/src/html/html_options_collection.c index b24d3a2..918d693 100644 --- a/src/html/html_options_collection.c +++ b/src/html/html_options_collection.c @@ -13,7 +13,6 @@ #include "html/html_options_collection.h" #include "core/node.h" -#include "core/document.h" #include "core/element.h" #include "core/string.h" #include "utils/utils.h" @@ -31,7 +30,7 @@ * \param col The result collection object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_options_collection_create(struct dom_document *doc, +dom_exception _dom_html_options_collection_create(struct dom_html_document *doc, struct dom_node_internal *root, dom_callback_is_in_collection ic, struct dom_html_options_collection **col) @@ -53,7 +52,7 @@ dom_exception _dom_html_options_collection_create(struct dom_document *doc, * belongs to the collection * \return DOM_NO_ERR on success. */ -dom_exception _dom_html_options_collection_initialise(struct dom_document *doc, +dom_exception _dom_html_options_collection_initialise(struct dom_html_document *doc, struct dom_html_options_collection *col, struct dom_node_internal *root, dom_callback_is_in_collection ic) diff --git a/src/html/html_options_collection.h b/src/html/html_options_collection.h index e82cc5c..bbaaba4 100644 --- a/src/html/html_options_collection.h +++ b/src/html/html_options_collection.h @@ -22,12 +22,12 @@ struct dom_html_options_collection { /**< The base class */ }; -dom_exception _dom_html_options_collection_create(struct dom_document *doc, +dom_exception _dom_html_options_collection_create(struct dom_html_document *doc, struct dom_node_internal *root, dom_callback_is_in_collection ic, struct dom_html_options_collection **col); -dom_exception _dom_html_options_collection_initialise(struct dom_document *doc, +dom_exception _dom_html_options_collection_initialise(struct dom_html_document *doc, struct dom_html_options_collection *col, struct dom_node_internal *root, dom_callback_is_in_collection ic); diff --git a/src/html/html_select_element.c b/src/html/html_select_element.c index e8cf39e..b04f85b 100644 --- a/src/html/html_select_element.c +++ b/src/html/html_select_element.c @@ -8,10 +8,10 @@ #include #include +#include "html/html_document.h" #include "html/html_select_element.h" #include "core/node.h" -#include "core/document.h" #include "utils/utils.h" static struct dom_element_protected_vtable _protect_vtable = { @@ -30,7 +30,7 @@ static bool is_option(struct dom_node_internal *node); * \param ele The returned element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_select_element_create(struct dom_document *doc, +dom_exception _dom_html_select_element_create(struct dom_html_document *doc, struct dom_html_select_element **ele) { *ele = malloc(sizeof(dom_html_select_element)); @@ -52,7 +52,7 @@ dom_exception _dom_html_select_element_create(struct dom_document *doc, * \param ele The dom_html_select_element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_select_element_initialise(struct dom_document *doc, +dom_exception _dom_html_select_element_initialise(struct dom_html_document *doc, struct dom_html_select_element *ele) { dom_string *name = NULL; @@ -168,7 +168,7 @@ dom_exception dom_html_select_element_get_length( dom_html_select_element *ele, unsigned long *len) { dom_exception err; - dom_document *doc = dom_node_get_owner(ele); + dom_html_document *doc = (dom_html_document *) dom_node_get_owner(ele); assert(doc != NULL); if (ele->options == NULL) { @@ -212,7 +212,7 @@ dom_exception dom_html_select_element_get_options( struct dom_html_options_collection **col) { dom_exception err; - dom_document *doc = dom_node_get_owner(ele); + dom_html_document *doc = (dom_html_document *) dom_node_get_owner(ele); assert(doc != NULL); if (ele->options == NULL) { diff --git a/src/html/html_select_element.h b/src/html/html_select_element.h index 2f813ac..68c51e3 100644 --- a/src/html/html_select_element.h +++ b/src/html/html_select_element.h @@ -23,11 +23,11 @@ struct dom_html_select_element { }; /* Create a dom_html_select_element object */ -dom_exception _dom_html_select_element_create(struct dom_document *doc, +dom_exception _dom_html_select_element_create(struct dom_html_document *doc, struct dom_html_select_element **ele); /* Initialise a dom_html_select_element object */ -dom_exception _dom_html_select_element_initialise(struct dom_document *doc, +dom_exception _dom_html_select_element_initialise(struct dom_html_document *doc, struct dom_html_select_element *ele); /* Finalise a dom_html_select_element object */ diff --git a/src/html/html_style_element.c b/src/html/html_style_element.c index e4cb6f2..1867742 100644 --- a/src/html/html_style_element.c +++ b/src/html/html_style_element.c @@ -10,7 +10,6 @@ #include "html/html_style_element.h" #include "core/node.h" -#include "core/document.h" #include "utils/utils.h" static struct dom_element_protected_vtable _protect_vtable = { @@ -27,7 +26,7 @@ static struct dom_element_protected_vtable _protect_vtable = { * \param ele The returned element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_style_element_create(struct dom_document *doc, +dom_exception _dom_html_style_element_create(struct dom_html_document *doc, struct dom_html_style_element **ele) { *ele = malloc(sizeof(dom_html_style_element)); @@ -49,7 +48,7 @@ dom_exception _dom_html_style_element_create(struct dom_document *doc, * \param ele The dom_html_style_element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_style_element_initialise(struct dom_document *doc, +dom_exception _dom_html_style_element_initialise(struct dom_html_document *doc, struct dom_html_style_element *ele) { dom_string *name = NULL; diff --git a/src/html/html_style_element.h b/src/html/html_style_element.h index 3eeca55..e7a47e5 100644 --- a/src/html/html_style_element.h +++ b/src/html/html_style_element.h @@ -18,11 +18,11 @@ struct dom_html_style_element { }; /* Create a dom_html_style_element object */ -dom_exception _dom_html_style_element_create(struct dom_document *doc, +dom_exception _dom_html_style_element_create(struct dom_html_document *doc, struct dom_html_style_element **ele); /* Initialise a dom_html_style_element object */ -dom_exception _dom_html_style_element_initialise(struct dom_document *doc, +dom_exception _dom_html_style_element_initialise(struct dom_html_document *doc, struct dom_html_style_element *ele); /* Finalise a dom_html_style_element object */ diff --git a/src/html/html_title_element.c b/src/html/html_title_element.c index df021fc..d698b6d 100644 --- a/src/html/html_title_element.c +++ b/src/html/html_title_element.c @@ -14,7 +14,6 @@ #include "html/html_title_element.h" #include "core/node.h" -#include "core/document.h" #include "utils/utils.h" static struct dom_element_protected_vtable _protect_vtable = { @@ -31,7 +30,7 @@ static struct dom_element_protected_vtable _protect_vtable = { * \param ele The returned element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_title_element_create(struct dom_document *doc, +dom_exception _dom_html_title_element_create(struct dom_html_document *doc, struct dom_html_title_element **ele) { *ele = malloc(sizeof(dom_html_title_element)); @@ -53,7 +52,7 @@ dom_exception _dom_html_title_element_create(struct dom_document *doc, * \param ele The dom_html_title_element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ -dom_exception _dom_html_title_element_initialise(struct dom_document *doc, +dom_exception _dom_html_title_element_initialise(struct dom_html_document *doc, struct dom_html_title_element *ele) { dom_string *name = NULL; diff --git a/src/html/html_title_element.h b/src/html/html_title_element.h index e4641ec..958c3fe 100644 --- a/src/html/html_title_element.h +++ b/src/html/html_title_element.h @@ -18,11 +18,11 @@ struct dom_html_title_element { }; /* Create a dom_html_title_element object */ -dom_exception _dom_html_title_element_create(struct dom_document *doc, +dom_exception _dom_html_title_element_create(struct dom_html_document *doc, struct dom_html_title_element **ele); /* Initialise a dom_html_title_element object */ -dom_exception _dom_html_title_element_initialise(struct dom_document *doc, +dom_exception _dom_html_title_element_initialise(struct dom_html_document *doc, struct dom_html_title_element *ele); /* Finalise a dom_html_title_element object */ -- cgit v1.2.3