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 2007 John-Mark Bell <jmb@netsurf-browser.org>
  6.  */
  7.  
  8. #ifndef dom_core_namednodemap_h_
  9. #define dom_core_namednodemap_h_
  10.  
  11. #include <dom/core/exceptions.h>
  12. #include <dom/core/string.h>
  13.  
  14. struct dom_node;
  15.  
  16. typedef struct dom_namednodemap dom_namednodemap;
  17.  
  18. void dom_namednodemap_ref(struct dom_namednodemap *map);
  19. void dom_namednodemap_unref(struct dom_namednodemap *map);
  20.  
  21. dom_exception dom_namednodemap_get_length(struct dom_namednodemap *map,
  22.                 uint32_t *length);
  23.  
  24. dom_exception _dom_namednodemap_get_named_item(struct dom_namednodemap *map,
  25.                 dom_string *name, struct dom_node **node);
  26.  
  27. #define dom_namednodemap_get_named_item(m, n, r)  \
  28.                 _dom_namednodemap_get_named_item((dom_namednodemap *) (m), \
  29.                 (n), (dom_node **) (r))
  30.                
  31.  
  32. dom_exception _dom_namednodemap_set_named_item(struct dom_namednodemap *map,
  33.                 struct dom_node *arg, struct dom_node **node);
  34.  
  35. #define dom_namednodemap_set_named_item(m, a, n) \
  36.                 _dom_namednodemap_set_named_item((dom_namednodemap *) (m), \
  37.                 (dom_node *) (a), (dom_node **) (n))
  38.  
  39.  
  40. dom_exception _dom_namednodemap_remove_named_item(
  41.                 struct dom_namednodemap *map, dom_string *name,
  42.                 struct dom_node **node);
  43.  
  44. #define dom_namednodemap_remove_named_item(m, n, r) \
  45.                 _dom_namednodemap_remove_named_item((dom_namednodemap *) (m), \
  46.                 (n), (dom_node **) (r))
  47.  
  48.  
  49. dom_exception _dom_namednodemap_item(struct dom_namednodemap *map,
  50.                 uint32_t index, struct dom_node **node);
  51.  
  52. #define dom_namednodemap_item(m, i, n) _dom_namednodemap_item( \
  53.                 (dom_namednodemap *) (m), (uint32_t) (i), \
  54.                 (dom_node **) (n))
  55.  
  56.  
  57. dom_exception _dom_namednodemap_get_named_item_ns(
  58.                 struct dom_namednodemap *map, dom_string *namespace,
  59.                 dom_string *localname, struct dom_node **node);
  60.  
  61. #define dom_namednodemap_get_named_item_ns(m, n, l, r) \
  62.                 _dom_namednodemap_get_named_item_ns((dom_namednodemap *) (m), \
  63.                 (n), (l), (dom_node **) (r))
  64.  
  65.  
  66. dom_exception _dom_namednodemap_set_named_item_ns(
  67.                 struct dom_namednodemap *map, struct dom_node *arg,
  68.                 struct dom_node **node);
  69.  
  70. #define dom_namednodemap_set_named_item_ns(m, a, n) \
  71.                 _dom_namednodemap_set_named_item_ns((dom_namednodemap *) (m), \
  72.                 (dom_node *) (a), (dom_node **) (n))
  73.  
  74.  
  75. dom_exception _dom_namednodemap_remove_named_item_ns(
  76.                 struct dom_namednodemap *map, dom_string *namespace,
  77.                 dom_string *localname, struct dom_node **node);
  78.  
  79. #define dom_namednodemap_remove_named_item_ns(m, n, l, r) \
  80.                 _dom_namednodemap_remove_named_item_ns(\
  81.                 (dom_namednodemap *) (m), (n),(l), (dom_node **) (r))
  82.  
  83. #endif
  84.