summaryrefslogtreecommitdiff
path: root/src/core/namednodemap.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/namednodemap.h')
-rw-r--r--src/core/namednodemap.h50
1 files changed, 45 insertions, 5 deletions
diff --git a/src/core/namednodemap.h b/src/core/namednodemap.h
index 830ab6d..328e433 100644
--- a/src/core/namednodemap.h
+++ b/src/core/namednodemap.h
@@ -18,14 +18,54 @@ struct dom_node;
struct dom_namednodemap;
struct dom_string;
+struct nnm_operation {
+ dom_exception (*namednodemap_get_length)(void *priv,
+ unsigned long *length);
+
+ dom_exception (*namednodemap_get_named_item)(void *priv,
+ struct dom_string *name, struct dom_node **node);
+
+ dom_exception (*namednodemap_set_named_item)(void *priv,
+ struct dom_node *arg, struct dom_node **node);
+
+ dom_exception (*namednodemap_remove_named_item)(
+ void *priv, struct dom_string *name,
+ struct dom_node **node);
+
+ dom_exception (*namednodemap_item)(void *priv,
+ unsigned long index, struct dom_node **node);
+
+ dom_exception (*namednodemap_get_named_item_ns)(
+ void *priv, struct dom_string *namespace,
+ struct dom_string *localname, struct dom_node **node);
+
+ dom_exception (*namednodemap_set_named_item_ns)(
+ void *priv, struct dom_node *arg,
+ struct dom_node **node);
+
+ dom_exception (*namednodemap_remove_named_item_ns)(
+ void *priv, struct dom_string *namespace,
+ struct dom_string *localname, struct dom_node **node);
+
+ void (*namednodemap_destroy)(void *priv);
+
+ bool (*namednodemap_equal)(void *p1, void *p2);
+};
+
/* Create a namednodemap */
-dom_exception dom_namednodemap_create(struct dom_document *doc,
- struct dom_node_internal *head, dom_node_type type,
+dom_exception _dom_namednodemap_create(struct dom_document *doc,
+ void *priv, struct nnm_operation *opt,
struct dom_namednodemap **map);
+/* Update the private data */
+void _dom_namednodemap_update(struct dom_namednodemap *map, void *priv);
+
+/* Test whether two maps are equal */
+bool _dom_namednodemap_equal(struct dom_namednodemap *m1,
+ struct dom_namednodemap *m2);
-/* Match a namednodemap instance against a set of creation parameters */
-bool dom_namednodemap_match(struct dom_namednodemap *map,
- struct dom_node_internal *head, dom_node_type type);
+#define dom_namednodemap_equal(m1, m2) _dom_namednodemap_equal( \
+ (struct dom_namednodemap *) (m1), \
+ (struct dom_namednodemap *) (m2))
#endif