summaryrefslogtreecommitdiff
path: root/src/core/document_type.h
diff options
context:
space:
mode:
authorBo Yang <struggleyb.nku@gmail.com>2009-08-11 11:17:23 +0000
committerBo Yang <struggleyb.nku@gmail.com>2009-08-11 11:17:23 +0000
commit399da01ae4eb5c5e3e9349bacc2063c946c3d4a1 (patch)
tree433c8bcde94fc7a6e6f2e5cbf23842a84db98146 /src/core/document_type.h
parenteec057c7437e19b59ca1e698ce548cb56ce37240 (diff)
downloadlibdom-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/document_type.h')
-rw-r--r--src/core/document_type.h28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/core/document_type.h b/src/core/document_type.h
index e38cf52..649b027 100644
--- a/src/core/document_type.h
+++ b/src/core/document_type.h
@@ -9,9 +9,16 @@
#define dom_internal_core_document_type_h_
struct dom_document_type;
+struct dom_resource_mgr;
+struct dom_implementation;
/* Destroy a document type */
-void dom_document_type_destroy(struct dom_node_internal *doctypenode);
+void _dom_document_type_destroy(struct dom_node_internal *doctypenode);
+dom_exception _dom_document_type_initialise(struct dom_document_type *doctype,
+ struct dom_string *qname, struct dom_string *public_id,
+ struct dom_string *system_id, dom_alloc alloc, void *pw,
+ struct lwc_context_s *ctx);
+void _dom_document_type_finalise(struct dom_document_type *doctype);
/* The virtual functions of DocumentType */
dom_exception _dom_document_type_get_name(struct dom_document_type *doc_type,
@@ -40,5 +47,22 @@ dom_exception _dom_document_type_get_internal_subset(
_dom_document_type_get_system_id, \
_dom_document_type_get_internal_subset
-#endif
+/* Following comes the protected vtable */
+void _dom_dt_destroy(struct dom_node_internal *node);
+dom_exception _dom_dt_alloc(struct dom_document *doc,
+ struct dom_node_internal *n, struct dom_node_internal **ret);
+dom_exception _dom_dt_copy(struct dom_node_internal *new,
+ struct dom_node_internal *old);
+
+#define DOM_DT_PROTECT_VTABLE \
+ _dom_dt_destroy, \
+ _dom_dt_alloc, \
+ _dom_dt_copy
+/* Helper functions */
+void _dom_document_type_get_resource_mgr(
+ struct dom_document_type *dt, struct dom_resource_mgr *rm);
+struct dom_implementation *_dom_document_type_get_impl(
+ struct dom_document_type *dt);
+
+#endif