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]
