1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
|
/*
* This file is part of libdom.
* Licensed under the MIT License,
* http://www.opensource.org/licenses/mit-license.php
* Copyright 2009 Bo Yang <struggleyb.nku@gmail.com>
*/
#ifndef dom_html_element_h_
#define dom_html_element_h_
#include <dom/core/element.h>
#include <dom/html/html_elements.h>
typedef struct dom_html_element dom_html_element;
typedef struct dom_html_element_vtable {
struct dom_element_vtable base;
dom_exception (*dom_html_element_get_id)(
struct dom_html_element *element,
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_class_name)(
struct dom_html_element *element,
dom_string **class_name);
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(
struct dom_html_element *element, dom_string **id)
{
return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
dom_html_element_get_id(element, id);
}
#define dom_html_element_get_id(e, id) dom_html_element_get_id( \
(dom_html_element *) (e), (id))
static inline dom_exception dom_html_element_set_id(
struct dom_html_element *element, dom_string *id)
{
return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
dom_html_element_set_id(element, id);
}
#define dom_html_element_set_id(e, id) dom_html_element_set_id( \
(dom_html_element *) (e), (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), (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), (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), (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), (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), (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), (dir))
static inline dom_exception dom_html_element_get_class_name(
struct dom_html_element *element, dom_string **class_name)
{
return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
dom_html_element_get_class_name(element, class_name);
}
#define dom_html_element_get_class_name(e, class_name) \
dom_html_element_get_class_name((dom_html_element *) (e), \
(class_name))
static inline dom_exception dom_html_element_set_class_name(
struct dom_html_element *element, dom_string *class_name)
{
return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
dom_html_element_set_class_name(element, class_name);
}
#define dom_html_element_set_class_name(e, 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
|