This->lpVtbl = &domattr_vtbl;
This->ref = 1;
- init_xmlnode(&This->node, attribute, (IUnknown*)&This->lpVtbl, NULL);
+ init_xmlnode(&This->node, attribute, (IXMLDOMNode*)&This->lpVtbl, NULL);
return (IUnknown*) &This->lpVtbl;
}
This->lpVtbl = &domcdata_vtbl;
This->ref = 1;
- init_xmlnode(&This->node, text, (IUnknown*)&This->lpVtbl, NULL);
+ init_xmlnode(&This->node, text, (IXMLDOMNode*)&This->lpVtbl, NULL);
return (IUnknown*) &This->lpVtbl;
}
This->lpVtbl = &domcomment_vtbl;
This->ref = 1;
- init_xmlnode(&This->node, comment, (IUnknown*)&This->lpVtbl, NULL);
+ init_xmlnode(&This->node, comment, (IXMLDOMNode*)&This->lpVtbl, NULL);
return (IUnknown*) &This->lpVtbl;
}
This->lpVtbl = &domfrag_vtbl;
This->ref = 1;
- init_xmlnode(&This->node, fragment, (IUnknown*)&This->lpVtbl, NULL);
+ init_xmlnode(&This->node, fragment, (IXMLDOMNode*)&This->lpVtbl, NULL);
return (IUnknown*) &This->lpVtbl;
}
doc->safeopt = 0;
doc->bsc = NULL;
- init_xmlnode(&doc->node, (xmlNodePtr)xmldoc, (IUnknown*)&doc->lpVtbl, &domdoc_dispex);
+ init_xmlnode(&doc->node, (xmlNodePtr)xmldoc, (IXMLDOMNode*)&doc->lpVtbl, &domdoc_dispex);
*document = (IXMLDOMDocument3*)&doc->lpVtbl;
This->lpVtbl = &domelem_vtbl;
This->ref = 1;
- init_xmlnode(&This->node, element, (IUnknown*)&This->lpVtbl, &domelem_dispex);
+ init_xmlnode(&This->node, element, (IXMLDOMNode*)&This->lpVtbl, &domelem_dispex);
return (IUnknown*) &This->lpVtbl;
}
This->lpVtbl = &entityref_vtbl;
This->ref = 1;
- init_xmlnode(&This->node, entity, (IUnknown*)&This->lpVtbl, NULL);
+ init_xmlnode(&This->node, entity, (IXMLDOMNode*)&This->lpVtbl, NULL);
return (IUnknown*) &This->lpVtbl;
}
{
DispatchEx dispex;
const struct IXMLDOMNodeVtbl *lpVtbl;
- IUnknown *pUnkOuter;
+ IXMLDOMNode *iface;
LONG ref;
xmlNodePtr node;
} xmlnode;
return (IXMLDOMNode*)&This->lpVtbl;
}
-extern void init_xmlnode(xmlnode*,xmlNodePtr,IUnknown*,dispex_static_data_t*);
+extern void init_xmlnode(xmlnode*,xmlNodePtr,IXMLDOMNode*,dispex_static_data_t*);
extern void destroy_xmlnode(xmlnode*);
extern HRESULT DOMDocument_create_from_xmldoc(xmlDocPtr xmldoc, IXMLDOMDocument3 **document);
TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppvObject);
- if(This->pUnkOuter)
- return IUnknown_QueryInterface(This->pUnkOuter, riid, ppvObject);
+ if(This->iface)
+ return IXMLDOMNode_QueryInterface(This->iface, riid, ppvObject);
if (IsEqualGUID(riid, &IID_IUnknown)) {
*ppvObject = iface;
{
xmlnode *This = impl_from_IXMLDOMNode( iface );
- if(This->pUnkOuter)
- return IUnknown_AddRef(This->pUnkOuter);
+ if(This->iface)
+ return IXMLDOMNode_AddRef(This->iface);
return InterlockedIncrement(&This->ref);
}
xmlnode *This = impl_from_IXMLDOMNode( iface );
LONG ref;
- if(This->pUnkOuter)
- return IUnknown_Release(This->pUnkOuter);
+ if(This->iface)
+ return IXMLDOMNode_Release(This->iface);
ref = InterlockedDecrement( &This->ref );
if(!ref) {
xmldoc_release(This->node->doc);
}
-void init_xmlnode(xmlnode *This, xmlNodePtr node, IUnknown *outer, dispex_static_data_t *dispex_data )
+void init_xmlnode(xmlnode *This, xmlNodePtr node, IXMLDOMNode *node_iface, dispex_static_data_t *dispex_data)
{
if(node)
xmldoc_add_ref( node->doc );
This->lpVtbl = &xmlnode_vtbl;
This->ref = 1;
This->node = node;
- This->pUnkOuter = outer;
+ This->iface = node_iface;
if(dispex_data)
- init_dispex(&This->dispex, This->pUnkOuter, dispex_data);
+ init_dispex(&This->dispex, (IUnknown*)This->iface, dispex_data);
}
IXMLDOMNode *create_node( xmlNodePtr node )
This->lpVtbl = &dom_pi_vtbl;
This->ref = 1;
- init_xmlnode(&This->node, pi, (IUnknown*)&This->lpVtbl, NULL);
+ init_xmlnode(&This->node, pi, (IXMLDOMNode*)&This->lpVtbl, NULL);
return (IUnknown*) &This->lpVtbl;
}
This->lpVtbl = &domtext_vtbl;
This->ref = 1;
- init_xmlnode(&This->node, text, (IUnknown*)&This->lpVtbl, NULL);
+ init_xmlnode(&This->node, text, (IXMLDOMNode*)&This->lpVtbl, NULL);
return (IUnknown*) &This->lpVtbl;
}