Piotr Caban : mshtml: Added IHTMLAttributeCollection3 stub.

Alexandre Julliard julliard at winehq.org
Fri Aug 26 10:40:51 CDT 2011


Module: wine
Branch: master
Commit: 33881c44f5e326b21e98cdfff36c847b83573ed0
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=33881c44f5e326b21e98cdfff36c847b83573ed0

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Thu Aug 25 15:25:01 2011 +0200

mshtml: Added IHTMLAttributeCollection3 stub.

---

 dlls/mshtml/htmlelem.c |  110 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 109 insertions(+), 1 deletions(-)

diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c
index 305dede..514166b 100644
--- a/dlls/mshtml/htmlelem.c
+++ b/dlls/mshtml/htmlelem.c
@@ -2137,7 +2137,8 @@ static HRESULT WINAPI HTMLAttributeCollection_QueryInterface(IHTMLAttributeColle
         TRACE("(%p)->(IID_IHTMLAttributeCollection2 %p)\n", This, ppv);
         *ppv = &This->IHTMLAttributeCollection2_iface;
     }else if(IsEqualGUID(&IID_IHTMLAttributeCollection3, riid)) {
-        FIXME("(%p)->(IID_IHTMLAttributeCollection3 %p)\n", This, ppv);
+        TRACE("(%p)->(IID_IHTMLAttributeCollection3 %p)\n", This, ppv);
+        *ppv = &This->IHTMLAttributeCollection3_iface;
     }else if(dispex_query_interface(&This->dispex, riid, ppv)) {
         return *ppv ? S_OK : E_NOINTERFACE;
     }
@@ -2330,6 +2331,112 @@ static const IHTMLAttributeCollection2Vtbl HTMLAttributeCollection2Vtbl = {
     HTMLAttributeCollection2_removeNamedItem
 };
 
+static inline HTMLAttributeCollection *impl_from_IHTMLAttributeCollection3(IHTMLAttributeCollection3 *iface)
+{
+    return CONTAINING_RECORD(iface, HTMLAttributeCollection, IHTMLAttributeCollection3_iface);
+}
+
+static HRESULT WINAPI HTMLAttributeCollection3_QueryInterface(IHTMLAttributeCollection3 *iface, REFIID riid, void **ppv)
+{
+    HTMLAttributeCollection *This = impl_from_IHTMLAttributeCollection3(iface);
+    return IHTMLAttributeCollection_QueryInterface(&This->IHTMLAttributeCollection_iface, riid, ppv);
+}
+
+static ULONG WINAPI HTMLAttributeCollection3_AddRef(IHTMLAttributeCollection3 *iface)
+{
+    HTMLAttributeCollection *This = impl_from_IHTMLAttributeCollection3(iface);
+    return IHTMLAttributeCollection_AddRef(&This->IHTMLAttributeCollection_iface);
+}
+
+static ULONG WINAPI HTMLAttributeCollection3_Release(IHTMLAttributeCollection3 *iface)
+{
+    HTMLAttributeCollection *This = impl_from_IHTMLAttributeCollection3(iface);
+    return IHTMLAttributeCollection_Release(&This->IHTMLAttributeCollection_iface);
+}
+
+static HRESULT WINAPI HTMLAttributeCollection3_GetTypeInfoCount(IHTMLAttributeCollection3 *iface, UINT *pctinfo)
+{
+    HTMLAttributeCollection *This = impl_from_IHTMLAttributeCollection3(iface);
+    return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo);
+}
+
+static HRESULT WINAPI HTMLAttributeCollection3_GetTypeInfo(IHTMLAttributeCollection3 *iface, UINT iTInfo,
+        LCID lcid, ITypeInfo **ppTInfo)
+{
+    HTMLAttributeCollection *This = impl_from_IHTMLAttributeCollection3(iface);
+    return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo);
+}
+
+static HRESULT WINAPI HTMLAttributeCollection3_GetIDsOfNames(IHTMLAttributeCollection3 *iface, REFIID riid,
+        LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
+{
+    HTMLAttributeCollection *This = impl_from_IHTMLAttributeCollection3(iface);
+    return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames,
+            lcid, rgDispId);
+}
+
+static HRESULT WINAPI HTMLAttributeCollection3_Invoke(IHTMLAttributeCollection3 *iface, DISPID dispIdMember,
+        REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
+        VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
+{
+    HTMLAttributeCollection *This = impl_from_IHTMLAttributeCollection3(iface);
+    return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid,
+            wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
+}
+
+static HRESULT WINAPI HTMLAttributeCollection3_getNamedItem(IHTMLAttributeCollection3 *iface, BSTR bstrName,
+        IHTMLDOMAttribute **ppNodeOut)
+{
+    HTMLAttributeCollection *This = impl_from_IHTMLAttributeCollection3(iface);
+    FIXME("(%p)->(%s %p)\n", This, debugstr_w(bstrName), ppNodeOut);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI HTMLAttributeCollection3_setNamedItem(IHTMLAttributeCollection3 *iface,
+        IHTMLDOMAttribute *pNodeIn, IHTMLDOMAttribute **ppNodeOut)
+{
+    HTMLAttributeCollection *This = impl_from_IHTMLAttributeCollection3(iface);
+    FIXME("(%p)->(%p %p)\n", This, pNodeIn, ppNodeOut);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI HTMLAttributeCollection3_removeNamedItem(IHTMLAttributeCollection3 *iface,
+        BSTR bstrName, IHTMLDOMAttribute **ppNodeOut)
+{
+    HTMLAttributeCollection *This = impl_from_IHTMLAttributeCollection3(iface);
+    FIXME("(%p)->(%s %p)\n", This, debugstr_w(bstrName), ppNodeOut);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI HTMLAttributeCollection3_item(IHTMLAttributeCollection3 *iface, LONG index, IHTMLDOMAttribute **ppNodeOut)
+{
+    HTMLAttributeCollection *This = impl_from_IHTMLAttributeCollection3(iface);
+    FIXME("(%p)->(%d %p)\n", This, index, ppNodeOut);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI HTMLAttributeCollection3_get_length(IHTMLAttributeCollection3 *iface, LONG *p)
+{
+    HTMLAttributeCollection *This = impl_from_IHTMLAttributeCollection3(iface);
+    FIXME("(%p)->(%p)\n", This, p);
+    return E_NOTIMPL;
+}
+
+static const IHTMLAttributeCollection3Vtbl HTMLAttributeCollection3Vtbl = {
+    HTMLAttributeCollection3_QueryInterface,
+    HTMLAttributeCollection3_AddRef,
+    HTMLAttributeCollection3_Release,
+    HTMLAttributeCollection3_GetTypeInfoCount,
+    HTMLAttributeCollection3_GetTypeInfo,
+    HTMLAttributeCollection3_GetIDsOfNames,
+    HTMLAttributeCollection3_Invoke,
+    HTMLAttributeCollection3_getNamedItem,
+    HTMLAttributeCollection3_setNamedItem,
+    HTMLAttributeCollection3_removeNamedItem,
+    HTMLAttributeCollection3_item,
+    HTMLAttributeCollection3_get_length
+};
+
 static inline HTMLAttributeCollection *HTMLAttributeCollection_from_DispatchEx(DispatchEx *iface)
 {
     return CONTAINING_RECORD(iface, HTMLAttributeCollection, dispex);
@@ -2382,6 +2489,7 @@ HRESULT HTMLElement_get_attr_col(HTMLDOMNode *iface, HTMLAttributeCollection **a
 
     ret->IHTMLAttributeCollection_iface.lpVtbl = &HTMLAttributeCollectionVtbl;
     ret->IHTMLAttributeCollection2_iface.lpVtbl = &HTMLAttributeCollection2Vtbl;
+    ret->IHTMLAttributeCollection3_iface.lpVtbl = &HTMLAttributeCollection3Vtbl;
     ret->ref = 1;
 
     IHTMLElement_AddRef(&This->IHTMLElement_iface);




More information about the wine-cvs mailing list