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 --- include/dom/html/html_element.h | 88 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) (limited to 'include/dom/html/html_element.h') diff --git a/include/dom/html/html_element.h b/include/dom/html/html_element.h index ea07c72..1c5f223 100644 --- a/include/dom/html/html_element.h +++ b/include/dom/html/html_element.h @@ -19,6 +19,22 @@ typedef struct dom_html_element_vtable { dom_string **id); dom_exception (*dom_html_element_set_id)(struct dom_html_element *element, dom_string *id); + dom_exception (*dom_html_element_get_title)(struct dom_html_element *element, + dom_string **title); + dom_exception (*dom_html_element_set_title)(struct dom_html_element *element, + dom_string *title); + dom_exception (*dom_html_element_get_lang)(struct dom_html_element *element, + dom_string **lang); + dom_exception (*dom_html_element_set_lang)(struct dom_html_element *element, + dom_string *lang); + dom_exception (*dom_html_element_get_dir)(struct dom_html_element *element, + dom_string **dir); + dom_exception (*dom_html_element_set_dir)(struct dom_html_element *element, + dom_string *dir); + dom_exception (*dom_html_element_get_classname)(struct dom_html_element *element, + dom_string **classname); + dom_exception (*dom_html_element_set_classname)(struct dom_html_element *element, + dom_string *classname); } dom_html_element_vtable; static inline dom_exception dom_html_element_get_id(struct dom_html_element *element, @@ -39,5 +55,77 @@ static inline dom_exception dom_html_element_set_id(struct dom_html_element *ele #define dom_html_element_set_id(e, id) dom_html_element_set_id( \ (dom_html_element *) (e), (dom_string *) (id)) +static inline dom_exception dom_html_element_get_title(struct dom_html_element *element, + dom_string **title) +{ + return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)-> + dom_html_element_get_title(element, title); +} +#define dom_html_element_get_title(e, title) dom_html_element_get_title( \ + (dom_html_element *) (e), (dom_string **) (title)) + +static inline dom_exception dom_html_element_set_title(struct dom_html_element *element, + dom_string *title) +{ + return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)-> + dom_html_element_set_title(element, title); +} +#define dom_html_element_set_title(e, title) dom_html_element_set_title( \ + (dom_html_element *) (e), (dom_string *) (title)) + +static inline dom_exception dom_html_element_get_lang(struct dom_html_element *element, + dom_string **lang) +{ + return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)-> + dom_html_element_get_lang(element, lang); +} +#define dom_html_element_get_lang(e, lang) dom_html_element_get_lang( \ + (dom_html_element *) (e), (dom_string **) (lang)) + +static inline dom_exception dom_html_element_set_lang(struct dom_html_element *element, + dom_string *lang) +{ + return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)-> + dom_html_element_set_lang(element, lang); +} +#define dom_html_element_set_lang(e, lang) dom_html_element_set_lang( \ + (dom_html_element *) (e), (dom_string *) (lang)) + +static inline dom_exception dom_html_element_get_dir(struct dom_html_element *element, + dom_string **dir) +{ + return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)-> + dom_html_element_get_dir(element, dir); +} +#define dom_html_element_get_dir(e, dir) dom_html_element_get_dir( \ + (dom_html_element *) (e), (dom_string **) (dir)) + +static inline dom_exception dom_html_element_set_dir(struct dom_html_element *element, + dom_string *dir) +{ + return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)-> + dom_html_element_set_dir(element, dir); +} +#define dom_html_element_set_dir(e, dir) dom_html_element_set_dir( \ + (dom_html_element *) (e), (dom_string *) (dir)) + +static inline dom_exception dom_html_element_get_classname(struct dom_html_element *element, + dom_string **classname) +{ + return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)-> + dom_html_element_get_classname(element, classname); +} +#define dom_html_element_get_classname(e, classname) dom_html_element_get_classname( \ + (dom_html_element *) (e), (dom_string **) (classname)) + +static inline dom_exception dom_html_element_set_classname(struct dom_html_element *element, + dom_string *classname) +{ + return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)-> + dom_html_element_set_classname(element, classname); +} +#define dom_html_element_set_classname(e, classname) dom_html_element_set_classname( \ + (dom_html_element *) (e), (dom_string *) (classname)) + #endif -- cgit v1.2.3