diff options
author | Bo Yang <struggleyb.nku@gmail.com> | 2009-08-11 11:17:23 +0000 |
---|---|---|
committer | Bo Yang <struggleyb.nku@gmail.com> | 2009-08-11 11:17:23 +0000 |
commit | 399da01ae4eb5c5e3e9349bacc2063c946c3d4a1 (patch) | |
tree | 433c8bcde94fc7a6e6f2e5cbf23842a84db98146 /src/core/namednodemap.h | |
parent | eec057c7437e19b59ca1e698ce548cb56ce37240 (diff) | |
download | libdom-399da01ae4eb5c5e3e9349bacc2063c946c3d4a1.tar.gz libdom-399da01ae4eb5c5e3e9349bacc2063c946c3d4a1.tar.bz2 |
Merge the branches/struggleyb/libdom-remain back to trunk.
svn path=/trunk/dom/; revision=9191
Diffstat (limited to 'src/core/namednodemap.h')
-rw-r--r-- | src/core/namednodemap.h | 50 |
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 |