From cedfbbce5ee148d04cfa87c3e459eea26ba397ef Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Thu, 28 Jan 2016 17:13:28 +0000 Subject: Add function to get html element's tag type. --- include/dom/html/html_element.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'include/dom') diff --git a/include/dom/html/html_element.h b/include/dom/html/html_element.h index dc1def1..49a7d59 100644 --- a/include/dom/html/html_element.h +++ b/include/dom/html/html_element.h @@ -9,6 +9,7 @@ #define dom_html_element_h_ #include +#include typedef struct dom_html_element dom_html_element; @@ -45,6 +46,12 @@ typedef struct dom_html_element_vtable { dom_exception (*dom_html_element_set_class_name)( struct dom_html_element *element, dom_string *class_name); + + /* This is for providing clients with a convienent way to deal + * with html elements with a specific tag name. */ + dom_exception (*dom_html_element_get_tag_type)( + const struct dom_html_element *element, + dom_html_element_type *type); } dom_html_element_vtable; static inline dom_exception dom_html_element_get_id( @@ -139,5 +146,16 @@ static inline dom_exception dom_html_element_set_class_name( dom_html_element_set_class_name((dom_html_element *) (e), \ (class_name)) +static inline dom_exception dom_html_element_get_tag_type( + const struct dom_html_element *element, + dom_html_element_type *type) +{ + return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)-> + dom_html_element_get_tag_type(element, type); +} +#define dom_html_element_get_tag_type(e, type) \ + dom_html_element_get_tag_type((const dom_html_element *) (e), \ + (type)) + #endif -- cgit v1.2.3