Hi All,

I don't know if anyone has had a chance to look at my proposed refactoring
(Bugzilla 5967) yet, but I attached to it a few more changes.

I changed DOM_DOMImplementation from being a singleton wrapping a singleton
(IDDOMImplementation), to being a smart pointer wrapping any provided
IDOM_DOMImplementation.  If none is provided then the default is to use
IDDOMImplementation.  Now DOM_DOMImplementation follows the pattern set by
all the other DOM_* wrappers of IDOM_* classes.  Along with adding
consistency, this change ended up being necessary to support pluggable
back-ends.  I had been thinking that developers of alternative back-ends
would create their own DOM_DOMImplementation replacement, but that does not
work for DOM_Document, which needs to know how to construct a specific
DOM_DOMImplementation in its getImplementation method.  With this change I
was able to change DOM_Document::getImplementation to construct the generic
DOM_DOMImplementation wrapper around the IDOM_DomImplemenation discoverable
from its wrapped IDOM_Document.

I added a new method -- IDOM_Node *getNodeImplementation() const -- to
DOM_Node to allow access to specialized IDOM_Node implementations via
DOM_Nodes.

Lenny


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to