Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

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