diff options
author | Bo Yang <struggleyb.nku@gmail.com> | 2009-03-12 10:25:49 +0000 |
---|---|---|
committer | Bo Yang <struggleyb.nku@gmail.com> | 2009-03-12 10:25:49 +0000 |
commit | fb5fc222637ffb1d0cb31deb54cac0ba06a99300 (patch) | |
tree | cf278f12fdf12a8398eef417674c3c6eb1cc7d3d /src/core/attr.h | |
parent | 7f0818c80cf6aca8f50a637a0f1c3bd5e810e227 (diff) | |
download | libdom-fb5fc222637ffb1d0cb31deb54cac0ba06a99300.tar.gz libdom-fb5fc222637ffb1d0cb31deb54cac0ba06a99300.tar.bz2 |
Change the our dom to use vtable method. The first step:
convert the dom_node/dom_attr.
And, this is my first commit. Great && Exciting!
svn path=/trunk/dom/; revision=6780
Diffstat (limited to 'src/core/attr.h')
-rw-r--r-- | src/core/attr.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/core/attr.h b/src/core/attr.h index bf5a606..4106dbe 100644 --- a/src/core/attr.h +++ b/src/core/attr.h @@ -18,5 +18,30 @@ dom_exception dom_attr_create(struct dom_document *doc, struct dom_string *name, struct dom_string *namespace, struct dom_string *prefix, struct dom_attr **result); void dom_attr_destroy(struct dom_document *doc, struct dom_attr *attr); +/* The virtual destroy function */ +void _dom_attr_destroy(dom_node_internal *node); + +/* Virtual functions for dom attr */ +dom_exception _dom_attr_get_name(struct dom_attr *attr, + struct dom_string **result); +dom_exception _dom_attr_get_specified(struct dom_attr *attr, bool *result); +dom_exception _dom_attr_get_value(struct dom_attr *attr, + struct dom_string **result); +dom_exception _dom_attr_set_value(struct dom_attr *attr, + struct dom_string *value); +dom_exception _dom_attr_get_owner(struct dom_attr *attr, + struct dom_element **result); +dom_exception _dom_attr_get_schema_type_info(struct dom_attr *attr, + struct dom_type_info **result); +dom_exception _dom_attr_is_id(struct dom_attr *attr, bool *result); + +#define DOM_ATTR_VTABLE \ + _dom_attr_get_name, \ + _dom_attr_get_specified, \ + _dom_attr_get_value, \ + _dom_attr_set_value, \ + _dom_attr_get_owner, \ + _dom_attr_get_schema_type_info, \ + _dom_attr_is_id #endif |