~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/dlls/shdocvw/classinfo.c

Version: ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  1 /*
  2  * Implementation of IProvideClassInfo interfaces for WebBrowser control
  3  *
  4  * Copyright 2001 John R. Sheets (for CodeWeavers)
  5  *
  6  * This library is free software; you can redistribute it and/or
  7  * modify it under the terms of the GNU Lesser General Public
  8  * License as published by the Free Software Foundation; either
  9  * version 2.1 of the License, or (at your option) any later version.
 10  *
 11  * This library is distributed in the hope that it will be useful,
 12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 14  * Lesser General Public License for more details.
 15  *
 16  * You should have received a copy of the GNU Lesser General Public
 17  * License along with this library; if not, write to the Free Software
 18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 19  */
 20 
 21 #include <stdarg.h>
 22 #include <string.h>
 23 
 24 #include "windef.h"
 25 #include "winbase.h"
 26 #include "shdocvw.h"
 27 #include "wine/debug.h"
 28 
 29 WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
 30 
 31 /**********************************************************************
 32  * Implement the IProvideClassInfo2 interface
 33  */
 34 
 35 #define CLASSINFO_THIS(iface) DEFINE_THIS(WebBrowser, ProvideClassInfo, iface)
 36 
 37 static HRESULT WINAPI ProvideClassInfo_QueryInterface(IProvideClassInfo2 *iface,
 38         REFIID riid, LPVOID *ppobj)
 39 {
 40     WebBrowser *This = CLASSINFO_THIS(iface);
 41     return IWebBrowser_QueryInterface(WEBBROWSER(This), riid, ppobj);
 42 }
 43 
 44 static ULONG WINAPI ProvideClassInfo_AddRef(IProvideClassInfo2 *iface)
 45 {
 46     WebBrowser *This = CLASSINFO_THIS(iface);
 47     return IWebBrowser_AddRef(WEBBROWSER(This));
 48 }
 49 
 50 static ULONG WINAPI ProvideClassInfo_Release(IProvideClassInfo2 *iface)
 51 {
 52     WebBrowser *This = CLASSINFO_THIS(iface);
 53     return IWebBrowser_Release(WEBBROWSER(This));
 54 }
 55 
 56 static HRESULT WINAPI ProvideClassInfo_GetClassInfo(IProvideClassInfo2 *iface, LPTYPEINFO *ppTI)
 57 {
 58     WebBrowser *This = CLASSINFO_THIS(iface);
 59     FIXME("(%p)->(%p)\n", This, ppTI);
 60     return E_NOTIMPL;
 61 }
 62 
 63 static HRESULT WINAPI ProvideClassInfo_GetGUID(IProvideClassInfo2 *iface,
 64         DWORD dwGuidKind, GUID *pGUID)
 65 {
 66     WebBrowser *This = CLASSINFO_THIS(iface);
 67 
 68     TRACE("(%p)->(%d %p)\n", This, dwGuidKind, pGUID);
 69 
 70     if(!pGUID)
 71         return E_POINTER;
 72 
 73     if (dwGuidKind != GUIDKIND_DEFAULT_SOURCE_DISP_IID) {
 74         WARN("Wrong GUID type: %d\n", dwGuidKind);
 75         *pGUID = IID_NULL;
 76         return E_FAIL;
 77     }
 78 
 79     memcpy(pGUID, This->version == 1 ? &DIID_DWebBrowserEvents : &DIID_DWebBrowserEvents2,
 80            sizeof(GUID));
 81     return S_OK;
 82 }
 83 
 84 #undef CLASSINFO_THIS
 85 
 86 static const IProvideClassInfo2Vtbl ProvideClassInfoVtbl =
 87 {
 88     ProvideClassInfo_QueryInterface,
 89     ProvideClassInfo_AddRef,
 90     ProvideClassInfo_Release,
 91     ProvideClassInfo_GetClassInfo,
 92     ProvideClassInfo_GetGUID
 93 };
 94 
 95 void WebBrowser_ClassInfo_Init(WebBrowser *This)
 96 {
 97     This->lpProvideClassInfoVtbl = &ProvideClassInfoVtbl;
 98 }
 99 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.