shdocvw: Added IDataObject stub implementation.
This commit is contained in:
parent
dcbc22b985
commit
cc784e277f
@ -127,6 +127,7 @@ struct WebBrowser {
|
|||||||
const IOleCommandTargetVtbl *lpOleCommandTargetVtbl;
|
const IOleCommandTargetVtbl *lpOleCommandTargetVtbl;
|
||||||
const IHlinkFrameVtbl *lpHlinkFrameVtbl;
|
const IHlinkFrameVtbl *lpHlinkFrameVtbl;
|
||||||
const IServiceProviderVtbl *lpServiceProviderVtbl;
|
const IServiceProviderVtbl *lpServiceProviderVtbl;
|
||||||
|
const IDataObjectVtbl *lpDataObjectVtbl;
|
||||||
|
|
||||||
LONG ref;
|
LONG ref;
|
||||||
|
|
||||||
@ -184,6 +185,7 @@ struct InternetExplorer {
|
|||||||
#define ACTIVEOBJ(x) ((IOleInPlaceActiveObject*) &(x)->lpOleInPlaceActiveObjectVtbl)
|
#define ACTIVEOBJ(x) ((IOleInPlaceActiveObject*) &(x)->lpOleInPlaceActiveObjectVtbl)
|
||||||
#define OLECMD(x) ((IOleCommandTarget*) &(x)->lpOleCommandTargetVtbl)
|
#define OLECMD(x) ((IOleCommandTarget*) &(x)->lpOleCommandTargetVtbl)
|
||||||
#define HLINKFRAME(x) ((IHlinkFrame*) &(x)->lpHlinkFrameVtbl)
|
#define HLINKFRAME(x) ((IHlinkFrame*) &(x)->lpHlinkFrameVtbl)
|
||||||
|
#define DATAOBJECT(x) ((IDataObject*) &(x)->lpDataObjectVtbl)
|
||||||
|
|
||||||
#define CLIENTSITE(x) ((IOleClientSite*) &(x)->lpOleClientSiteVtbl)
|
#define CLIENTSITE(x) ((IOleClientSite*) &(x)->lpOleClientSiteVtbl)
|
||||||
#define INPLACESITE(x) ((IOleInPlaceSite*) &(x)->lpOleInPlaceSiteVtbl)
|
#define INPLACESITE(x) ((IOleInPlaceSite*) &(x)->lpOleInPlaceSiteVtbl)
|
||||||
@ -198,6 +200,7 @@ struct InternetExplorer {
|
|||||||
|
|
||||||
void WebBrowser_OleObject_Init(WebBrowser*);
|
void WebBrowser_OleObject_Init(WebBrowser*);
|
||||||
void WebBrowser_ViewObject_Init(WebBrowser*);
|
void WebBrowser_ViewObject_Init(WebBrowser*);
|
||||||
|
void WebBrowser_DataObject_Init(WebBrowser*);
|
||||||
void WebBrowser_Persist_Init(WebBrowser*);
|
void WebBrowser_Persist_Init(WebBrowser*);
|
||||||
void WebBrowser_ClassInfo_Init(WebBrowser*);
|
void WebBrowser_ClassInfo_Init(WebBrowser*);
|
||||||
void WebBrowser_HlinkFrame_Init(WebBrowser*);
|
void WebBrowser_HlinkFrame_Init(WebBrowser*);
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2005 Jacek Caban
|
* Copyright 2005 Jacek Caban
|
||||||
|
* Copyright 2010 Ilya Shpigor
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
@ -21,6 +22,10 @@
|
|||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
|
WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
|
||||||
|
|
||||||
|
/**********************************************************************
|
||||||
|
* Implement the IViewObject interface
|
||||||
|
*/
|
||||||
|
|
||||||
#define VIEWOBJ_THIS(iface) DEFINE_THIS(WebBrowser, ViewObject, iface)
|
#define VIEWOBJ_THIS(iface) DEFINE_THIS(WebBrowser, ViewObject, iface)
|
||||||
|
|
||||||
static HRESULT WINAPI ViewObject_QueryInterface(IViewObject2 *iface, REFIID riid, void **ppv)
|
static HRESULT WINAPI ViewObject_QueryInterface(IViewObject2 *iface, REFIID riid, void **ppv)
|
||||||
@ -122,3 +127,112 @@ void WebBrowser_ViewObject_Init(WebBrowser *This)
|
|||||||
{
|
{
|
||||||
This->lpViewObjectVtbl = &ViewObjectVtbl;
|
This->lpViewObjectVtbl = &ViewObjectVtbl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**********************************************************************
|
||||||
|
* Implement the IDataObject interface
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define DATAOBJ_THIS(iface) DEFINE_THIS(WebBrowser, DataObject, iface)
|
||||||
|
|
||||||
|
static HRESULT WINAPI DataObject_QueryInterface(LPDATAOBJECT iface, REFIID riid, LPVOID * ppvObj)
|
||||||
|
{
|
||||||
|
WebBrowser *This = DATAOBJ_THIS(iface);
|
||||||
|
return IWebBrowser2_QueryInterface(WEBBROWSER(This), riid, ppvObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI DataObject_AddRef(LPDATAOBJECT iface)
|
||||||
|
{
|
||||||
|
WebBrowser *This = DATAOBJ_THIS(iface);
|
||||||
|
return IWebBrowser2_AddRef(WEBBROWSER(This));
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI DataObject_Release(LPDATAOBJECT iface)
|
||||||
|
{
|
||||||
|
WebBrowser *This = DATAOBJ_THIS(iface);
|
||||||
|
return IWebBrowser2_Release(WEBBROWSER(This));
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI DataObject_GetData(LPDATAOBJECT iface, LPFORMATETC pformatetcIn, STGMEDIUM *pmedium)
|
||||||
|
{
|
||||||
|
WebBrowser *This = DATAOBJ_THIS(iface);
|
||||||
|
FIXME("(%p)->()\n", This);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI DataObject_GetDataHere(LPDATAOBJECT iface, LPFORMATETC pformatetc, STGMEDIUM *pmedium)
|
||||||
|
{
|
||||||
|
WebBrowser *This = DATAOBJ_THIS(iface);
|
||||||
|
FIXME("(%p)->()\n", This);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI DataObject_QueryGetData(LPDATAOBJECT iface, LPFORMATETC pformatetc)
|
||||||
|
{
|
||||||
|
WebBrowser *This = DATAOBJ_THIS(iface);
|
||||||
|
FIXME("(%p)->()\n", This);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI DataObject_GetCanonicalFormatEtc(LPDATAOBJECT iface, LPFORMATETC pformatectIn, LPFORMATETC pformatetcOut)
|
||||||
|
{
|
||||||
|
WebBrowser *This = DATAOBJ_THIS(iface);
|
||||||
|
FIXME("(%p)->()\n", This);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI DataObject_SetData(LPDATAOBJECT iface, LPFORMATETC pformatetc, STGMEDIUM *pmedium, BOOL fRelease)
|
||||||
|
{
|
||||||
|
WebBrowser *This = DATAOBJ_THIS(iface);
|
||||||
|
FIXME("(%p)->()\n", This);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI DataObject_EnumFormatEtc(LPDATAOBJECT iface, DWORD dwDirection, IEnumFORMATETC **ppenumFormatEtc)
|
||||||
|
{
|
||||||
|
WebBrowser *This = DATAOBJ_THIS(iface);
|
||||||
|
FIXME("(%p)->()\n", This);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI DataObject_DAdvise(LPDATAOBJECT iface, FORMATETC *pformatetc, DWORD advf, IAdviseSink *pAdvSink, DWORD *pdwConnection)
|
||||||
|
{
|
||||||
|
WebBrowser *This = DATAOBJ_THIS(iface);
|
||||||
|
FIXME("(%p)->()\n", This);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI DataObject_DUnadvise(LPDATAOBJECT iface, DWORD dwConnection)
|
||||||
|
{
|
||||||
|
WebBrowser *This = DATAOBJ_THIS(iface);
|
||||||
|
FIXME("(%p)->()\n", This);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI DataObject_EnumDAdvise(LPDATAOBJECT iface, IEnumSTATDATA **ppenumAdvise)
|
||||||
|
{
|
||||||
|
WebBrowser *This = DATAOBJ_THIS(iface);
|
||||||
|
FIXME("(%p)->()\n", This);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const IDataObjectVtbl DataObjectVtbl = {
|
||||||
|
DataObject_QueryInterface,
|
||||||
|
DataObject_AddRef,
|
||||||
|
DataObject_Release,
|
||||||
|
DataObject_GetData,
|
||||||
|
DataObject_GetDataHere,
|
||||||
|
DataObject_QueryGetData,
|
||||||
|
DataObject_GetCanonicalFormatEtc,
|
||||||
|
DataObject_SetData,
|
||||||
|
DataObject_EnumFormatEtc,
|
||||||
|
DataObject_DAdvise,
|
||||||
|
DataObject_DUnadvise,
|
||||||
|
DataObject_EnumDAdvise
|
||||||
|
};
|
||||||
|
|
||||||
|
#undef DATAOBJ_THIS
|
||||||
|
|
||||||
|
void WebBrowser_DataObject_Init(WebBrowser *This)
|
||||||
|
{
|
||||||
|
This->lpDataObjectVtbl = &DataObjectVtbl;
|
||||||
|
}
|
||||||
|
@ -105,6 +105,9 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid
|
|||||||
}else if(IsEqualGUID(&IID_IServiceProvider, riid)) {
|
}else if(IsEqualGUID(&IID_IServiceProvider, riid)) {
|
||||||
*ppv = SERVPROV(This);
|
*ppv = SERVPROV(This);
|
||||||
TRACE("(%p)->(IID_IServiceProvider %p)\n", This, ppv);
|
TRACE("(%p)->(IID_IServiceProvider %p)\n", This, ppv);
|
||||||
|
}else if(IsEqualGUID(&IID_IDataObject, riid)) {
|
||||||
|
*ppv = DATAOBJECT(This);
|
||||||
|
TRACE("(%p)->(IID_IDataObject %p)\n", This, ppv);
|
||||||
}else if(IsEqualGUID(&IID_IQuickActivate, riid)) {
|
}else if(IsEqualGUID(&IID_IQuickActivate, riid)) {
|
||||||
TRACE("(%p)->(IID_IQuickActivate %p) returning NULL\n", This, ppv);
|
TRACE("(%p)->(IID_IQuickActivate %p) returning NULL\n", This, ppv);
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
@ -1132,6 +1135,7 @@ static HRESULT WebBrowser_Create(INT version, IUnknown *pOuter, REFIID riid, voi
|
|||||||
|
|
||||||
WebBrowser_OleObject_Init(ret);
|
WebBrowser_OleObject_Init(ret);
|
||||||
WebBrowser_ViewObject_Init(ret);
|
WebBrowser_ViewObject_Init(ret);
|
||||||
|
WebBrowser_DataObject_Init(ret);
|
||||||
WebBrowser_Persist_Init(ret);
|
WebBrowser_Persist_Init(ret);
|
||||||
WebBrowser_ClassInfo_Init(ret);
|
WebBrowser_ClassInfo_Init(ret);
|
||||||
WebBrowser_HlinkFrame_Init(ret);
|
WebBrowser_HlinkFrame_Init(ret);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user