On Wed, 2009-03-11 at 21:46 +0800, Bo Yang wrote:
Hi,
The attached patch only convert node/attr two part of the DOM to use
vtable method. It makes the libDOM not compile, but the complete patch
to convert to vtable is really to large to review, so post the patch
incrementally is better. We can find the issues earlier this way. Any
advice and comments are appreciated! Thanks!
This is mostly fine. A couple of comments, however:
1) I'm not entirely sure where you're going with dom_node_create()
2) I don't think that there should be a destroy() entry in the public
vtable -- destruction of objects occurs implicitly when their
reference count falls to zero and they're not hooked into the tree.
Therefore, we don't want to give the client the possibility of
screwing things up by calling the destroy() entry directly.
I think we want the first two fields in dom_node_internal to be:
void *vtable;
void (*destroy)(...);
as the destructor should be private.
3) attr_vtable needs to be static.
J.