summaryrefslogtreecommitdiff
path: root/src/core/attr.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/attr.h')
-rw-r--r--src/core/attr.h25
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