Commit 461a0102 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

shdocvw: Added IHlinkFrame stub implementation.

parent 5d854158
...@@ -16,6 +16,7 @@ C_SRCS = \ ...@@ -16,6 +16,7 @@ C_SRCS = \
events.c \ events.c \
factory.c \ factory.c \
frame.c \ frame.c \
navigate.c \
oleobject.c \ oleobject.c \
persist.c \ persist.c \
regsvr.c \ regsvr.c \
......
/*
* Copyright 2005 Jacek Caban for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "wine/debug.h"
#include "wine/unicode.h"
#include "shdocvw.h"
WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
#define HLINKFRAME_THIS(iface) DEFINE_THIS(WebBrowser, HlinkFrame, iface)
static HRESULT WINAPI HlinkFrame_QueryInterface(IHlinkFrame *iface, REFIID riid, void **ppv)
{
WebBrowser *This = HLINKFRAME_THIS(iface);
return IWebBrowser2_QueryInterface(WEBBROWSER2(This), riid, ppv);
}
static ULONG WINAPI HlinkFrame_AddRef(IHlinkFrame *iface)
{
WebBrowser *This = HLINKFRAME_THIS(iface);
return IWebBrowser2_AddRef(WEBBROWSER2(This));
}
static ULONG WINAPI HlinkFrame_Release(IHlinkFrame *iface)
{
WebBrowser *This = HLINKFRAME_THIS(iface);
return IWebBrowser2_Release(WEBBROWSER2(This));
}
static HRESULT WINAPI HlinkFrame_SetBrowseContext(IHlinkFrame *iface,
IHlinkBrowseContext *pihlbc)
{
WebBrowser *This = HLINKFRAME_THIS(iface);
FIXME("(%p)->(%p)\n", This, pihlbc);
return E_NOTIMPL;
}
static HRESULT WINAPI HlinkFrame_GetBrowseContext(IHlinkFrame *iface,
IHlinkBrowseContext **ppihlbc)
{
WebBrowser *This = HLINKFRAME_THIS(iface);
FIXME("(%p)->(%p)\n", This, ppihlbc);
return E_NOTIMPL;
}
static HRESULT WINAPI HlinkFrame_Navigate(IHlinkFrame *iface, DWORD grfHLNF, LPBC pbc,
IBindStatusCallback *pibsc, IHlink *pihlNavigate)
{
WebBrowser *This = HLINKFRAME_THIS(iface);
FIXME("(%p)->(%08lx %p %p %p)\n", This, grfHLNF, pbc, pibsc, pihlNavigate);
return E_NOTIMPL;
}
static HRESULT WINAPI HlinkFrame_OnNavigate(IHlinkFrame *iface, DWORD grfHLNF,
IMoniker *pimkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, DWORD dwreserved)
{
WebBrowser *This = HLINKFRAME_THIS(iface);
FIXME("(%p)->(%08lx %p %s %s %ld)\n", This, grfHLNF, pimkTarget, debugstr_w(pwzLocation),
debugstr_w(pwzFriendlyName), dwreserved);
return E_NOTIMPL;
}
static HRESULT WINAPI HlinkFrame_UpdateHlink(IHlinkFrame *iface, ULONG uHLID,
IMoniker *pimkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName)
{
WebBrowser *This = HLINKFRAME_THIS(iface);
FIXME("(%p)->(%lu %p %s %s)\n", This, uHLID, pimkTarget, debugstr_w(pwzLocation),
debugstr_w(pwzFriendlyName));
return E_NOTIMPL;
}
#undef HLINKFRAME_THIS
static const IHlinkFrameVtbl HlinkFrameVtbl = {
HlinkFrame_QueryInterface,
HlinkFrame_AddRef,
HlinkFrame_Release,
HlinkFrame_SetBrowseContext,
HlinkFrame_GetBrowseContext,
HlinkFrame_Navigate,
HlinkFrame_OnNavigate,
HlinkFrame_UpdateHlink
};
void WebBrowser_HlinkFrame_Init(WebBrowser *This)
{
This->lpHlinkFrameVtbl = &HlinkFrameVtbl;
}
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
#include "shlobj.h" #include "shlobj.h"
#include "exdisp.h" #include "exdisp.h"
#include "mshtmhst.h" #include "mshtmhst.h"
#include "hlink.h"
/********************************************************************** /**********************************************************************
* IClassFactory declaration for SHDOCVW.DLL * IClassFactory declaration for SHDOCVW.DLL
...@@ -76,6 +77,7 @@ typedef struct { ...@@ -76,6 +77,7 @@ typedef struct {
const IViewObject2Vtbl *lpViewObjectVtbl; const IViewObject2Vtbl *lpViewObjectVtbl;
const IOleInPlaceActiveObjectVtbl *lpOleInPlaceActiveObjectVtbl; const IOleInPlaceActiveObjectVtbl *lpOleInPlaceActiveObjectVtbl;
const IOleCommandTargetVtbl *lpWBOleCommandTargetVtbl; const IOleCommandTargetVtbl *lpWBOleCommandTargetVtbl;
const IHlinkFrameVtbl *lpHlinkFrameVtbl;
/* Interfaces available for embeded document */ /* Interfaces available for embeded document */
...@@ -134,6 +136,7 @@ typedef struct { ...@@ -134,6 +136,7 @@ typedef struct {
#define VIEWOBJ2(x) ((IViewObject2*) &(x)->lpViewObjectVtbl); #define VIEWOBJ2(x) ((IViewObject2*) &(x)->lpViewObjectVtbl);
#define ACTIVEOBJ(x) ((IOleInPlaceActiveObject*) &(x)->lpOleInPlaceActiveObjectVtbl) #define ACTIVEOBJ(x) ((IOleInPlaceActiveObject*) &(x)->lpOleInPlaceActiveObjectVtbl)
#define WBOLECMD(x) ((IOleCommandTarget*) &(x)->lpWBOleCommandTargetVtbl) #define WBOLECMD(x) ((IOleCommandTarget*) &(x)->lpWBOleCommandTargetVtbl)
#define HLINKFRAME(x) ((IHlinkFrame*) &(x)->lpHlinkFrameVtbl)
#define CLIENTSITE(x) ((IOleClientSite*) &(x)->lpOleClientSiteVtbl) #define CLIENTSITE(x) ((IOleClientSite*) &(x)->lpOleClientSiteVtbl)
#define INPLACESITE(x) ((IOleInPlaceSite*) &(x)->lpOleInPlaceSiteVtbl) #define INPLACESITE(x) ((IOleInPlaceSite*) &(x)->lpOleInPlaceSiteVtbl)
...@@ -150,6 +153,7 @@ void WebBrowser_ViewObject_Init(WebBrowser*); ...@@ -150,6 +153,7 @@ void WebBrowser_ViewObject_Init(WebBrowser*);
void WebBrowser_Persist_Init(WebBrowser*); void WebBrowser_Persist_Init(WebBrowser*);
void WebBrowser_ClassInfo_Init(WebBrowser*); void WebBrowser_ClassInfo_Init(WebBrowser*);
void WebBrowser_Events_Init(WebBrowser*); void WebBrowser_Events_Init(WebBrowser*);
void WebBrowser_HlinkFrame_Init(WebBrowser*);
void WebBrowser_ClientSite_Init(WebBrowser*); void WebBrowser_ClientSite_Init(WebBrowser*);
void WebBrowser_DocHost_Init(WebBrowser*); void WebBrowser_DocHost_Init(WebBrowser*);
......
...@@ -97,6 +97,9 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid ...@@ -97,6 +97,9 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid
}else if(IsEqualGUID(&IID_IOleCommandTarget, riid)) { }else if(IsEqualGUID(&IID_IOleCommandTarget, riid)) {
TRACE("(%p)->(IID_IOleCommandTarget %p)\n", This, ppv); TRACE("(%p)->(IID_IOleCommandTarget %p)\n", This, ppv);
*ppv = WBOLECMD(This); *ppv = WBOLECMD(This);
}else if(IsEqualGUID(&IID_IHlinkFrame, riid)) {
TRACE("(%p)->(IID_IHlinkFrame %p)\n", This, ppv);
*ppv = HLINKFRAME(This);
} }
if(*ppv) { if(*ppv) {
...@@ -807,6 +810,7 @@ HRESULT WebBrowser_Create(IUnknown *pOuter, REFIID riid, void **ppv) ...@@ -807,6 +810,7 @@ HRESULT WebBrowser_Create(IUnknown *pOuter, REFIID riid, void **ppv)
WebBrowser_ClientSite_Init(ret); WebBrowser_ClientSite_Init(ret);
WebBrowser_DocHost_Init(ret); WebBrowser_DocHost_Init(ret);
WebBrowser_Frame_Init(ret); WebBrowser_Frame_Init(ret);
WebBrowser_HlinkFrame_Init(ret);
hres = IWebBrowser_QueryInterface(WEBBROWSER(ret), riid, ppv); hres = IWebBrowser_QueryInterface(WEBBROWSER(ret), riid, ppv);
if(SUCCEEDED(hres)) { if(SUCCEEDED(hres)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment