summaryrefslogtreecommitdiff
path: root/include/dom
diff options
context:
space:
mode:
authorMichael Drake <michael.drake@codethink.co.uk>2016-01-28 17:13:28 +0000
committerMichael Drake <michael.drake@codethink.co.uk>2016-01-28 17:13:28 +0000
commitcedfbbce5ee148d04cfa87c3e459eea26ba397ef (patch)
tree89635134eed70c1df176a98aebd54eeab811ab20 /include/dom
parentfa2111088b5bb6b24b4acca53c95e1dc0284682e (diff)
downloadlibdom-cedfbbce5ee148d04cfa87c3e459eea26ba397ef.tar.gz
libdom-cedfbbce5ee148d04cfa87c3e459eea26ba397ef.tar.bz2
Add function to get html element's tag type.
Diffstat (limited to 'include/dom')
-rw-r--r--include/dom/html/html_element.h18
1 files changed, 18 insertions, 0 deletions
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 <dom/core/element.h>
+#include <dom/html/html_elements.h>
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