Commit c8e34cf2 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

shdocvw: Added IPropertyNotifySink stub implementation.

parent 4a6bbd03
...@@ -60,6 +60,9 @@ static HRESULT WINAPI ClientSite_QueryInterface(IOleClientSite *iface, REFIID ri ...@@ -60,6 +60,9 @@ static HRESULT WINAPI ClientSite_QueryInterface(IOleClientSite *iface, REFIID ri
}else if(IsEqualGUID(&IID_IDispatch, riid)) { }else if(IsEqualGUID(&IID_IDispatch, riid)) {
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv); TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
*ppv = CLDISP(This); *ppv = CLDISP(This);
}else if(IsEqualGUID(&IID_IPropertyNotifySink, riid)) {
TRACE("(%p)->(IID_IPropertyNotifySink %p)\n", This, ppv);
*ppv = PROPNOTIF(This);
}else if(IsEqualGUID(&IID_IServiceProvider, riid)) { }else if(IsEqualGUID(&IID_IServiceProvider, riid)) {
TRACE("(%p)->(IID_IServiceProvider %p)\n", This, ppv); TRACE("(%p)->(IID_IServiceProvider %p)\n", This, ppv);
*ppv = SERVPROV(This); *ppv = SERVPROV(This);
......
...@@ -502,10 +502,56 @@ static const IDocHostUIHandler2Vtbl DocHostUIHandler2Vtbl = { ...@@ -502,10 +502,56 @@ static const IDocHostUIHandler2Vtbl DocHostUIHandler2Vtbl = {
DocHostUIHandler_GetOverrideKeyPath DocHostUIHandler_GetOverrideKeyPath
}; };
#define PROPNOTIF_THIS(iface) DEFINE_THIS(DocHost, IPropertyNotifySink, iface)
static HRESULT WINAPI PropertyNotifySink_QueryInterface(IPropertyNotifySink *iface,
REFIID riid, void **ppv)
{
DocHost *This = PROPNOTIF_THIS(iface);
return IOleClientSite_QueryInterface(CLIENTSITE(This), riid, ppv);
}
static ULONG WINAPI PropertyNotifySink_AddRef(IPropertyNotifySink *iface)
{
DocHost *This = PROPNOTIF_THIS(iface);
return IOleClientSite_AddRef(CLIENTSITE(This));
}
static ULONG WINAPI PropertyNotifySink_Release(IPropertyNotifySink *iface)
{
DocHost *This = PROPNOTIF_THIS(iface);
return IOleClientSite_Release(CLIENTSITE(This));
}
static HRESULT WINAPI PropertyNotifySink_OnChanged(IPropertyNotifySink *iface, DISPID dispID)
{
DocHost *This = PROPNOTIF_THIS(iface);
FIXME("(%p)->(%d)\n", This, dispID);
return E_NOTIMPL;
}
static HRESULT WINAPI PropertyNotifySink_OnRequestEdit(IPropertyNotifySink *iface, DISPID dispID)
{
DocHost *This = PROPNOTIF_THIS(iface);
FIXME("(%p)->(%d)\n", This, dispID);
return E_NOTIMPL;
}
#undef PROPNOTIF_THIS
static const IPropertyNotifySinkVtbl PropertyNotifySinkVtbl = {
PropertyNotifySink_QueryInterface,
PropertyNotifySink_AddRef,
PropertyNotifySink_Release,
PropertyNotifySink_OnChanged,
PropertyNotifySink_OnRequestEdit
};
void DocHost_Init(DocHost *This, IDispatch *disp) void DocHost_Init(DocHost *This, IDispatch *disp)
{ {
This->lpDocHostUIHandlerVtbl = &DocHostUIHandler2Vtbl; This->lpDocHostUIHandlerVtbl = &DocHostUIHandler2Vtbl;
This->lpOleCommandTargetVtbl = &OleCommandTargetVtbl; This->lpOleCommandTargetVtbl = &OleCommandTargetVtbl;
This->lpIPropertyNotifySinkVtbl = &PropertyNotifySinkVtbl;
This->disp = disp; This->disp = disp;
......
...@@ -78,6 +78,7 @@ struct DocHost { ...@@ -78,6 +78,7 @@ struct DocHost {
const IOleDocumentSiteVtbl *lpOleDocumentSiteVtbl; const IOleDocumentSiteVtbl *lpOleDocumentSiteVtbl;
const IOleCommandTargetVtbl *lpOleCommandTargetVtbl; const IOleCommandTargetVtbl *lpOleCommandTargetVtbl;
const IDispatchVtbl *lpDispatchVtbl; const IDispatchVtbl *lpDispatchVtbl;
const IPropertyNotifySinkVtbl *lpIPropertyNotifySinkVtbl;
const IServiceProviderVtbl *lpServiceProviderVtbl; const IServiceProviderVtbl *lpServiceProviderVtbl;
/* Interfaces of InPlaceFrame object */ /* Interfaces of InPlaceFrame object */
...@@ -184,6 +185,7 @@ struct InternetExplorer { ...@@ -184,6 +185,7 @@ struct InternetExplorer {
#define DOCHOSTUI2(x) ((IDocHostUIHandler2*) &(x)->lpDocHostUIHandlerVtbl) #define DOCHOSTUI2(x) ((IDocHostUIHandler2*) &(x)->lpDocHostUIHandlerVtbl)
#define DOCSITE(x) ((IOleDocumentSite*) &(x)->lpOleDocumentSiteVtbl) #define DOCSITE(x) ((IOleDocumentSite*) &(x)->lpOleDocumentSiteVtbl)
#define CLDISP(x) ((IDispatch*) &(x)->lpDispatchVtbl) #define CLDISP(x) ((IDispatch*) &(x)->lpDispatchVtbl)
#define PROPNOTIF(x) ((IPropertyNotifySink*) &(x)->lpIPropertyNotifySinkVtbl)
#define SERVPROV(x) ((IServiceProvider*) &(x)->lpServiceProviderVtbl) #define SERVPROV(x) ((IServiceProvider*) &(x)->lpServiceProviderVtbl)
#define INPLACEFRAME(x) ((IOleInPlaceFrame*) &(x)->lpOleInPlaceFrameVtbl) #define INPLACEFRAME(x) ((IOleInPlaceFrame*) &(x)->lpOleInPlaceFrameVtbl)
......
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