Module: wine Branch: master Commit: fc9ecfe04d68145d694b14a7bc936b3f38d4b2f1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=fc9ecfe04d68145d694b14a7bc...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Mon Jun 20 14:00:28 2016 +0300
msscript: Added IQuickActivate stub.
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msscript.ocx/msscript.c | 64 ++++++++++++++++++++++++++++++++++++++ dlls/msscript.ocx/tests/msscript.c | 18 +++++++++++ 2 files changed, 82 insertions(+)
diff --git a/dlls/msscript.ocx/msscript.c b/dlls/msscript.ocx/msscript.c index c307c26..f072dba 100644 --- a/dlls/msscript.ocx/msscript.c +++ b/dlls/msscript.ocx/msscript.c @@ -44,6 +44,7 @@ struct ScriptControl { IPersistStreamInit IPersistStreamInit_iface; IOleObject IOleObject_iface; IOleControl IOleControl_iface; + IQuickActivate IQuickActivate_iface; IConnectionPointContainer IConnectionPointContainer_iface; LONG ref; IOleClientSite *site; @@ -156,6 +157,11 @@ static inline ScriptControl *impl_from_IOleControl(IOleControl *iface) return CONTAINING_RECORD(iface, ScriptControl, IOleControl_iface); }
+static inline ScriptControl *impl_from_IQuickActivate(IQuickActivate *iface) +{ + return CONTAINING_RECORD(iface, ScriptControl, IQuickActivate_iface); +} + static inline ScriptControl *impl_from_IConnectionPointContainer(IConnectionPointContainer *iface) { return CONTAINING_RECORD(iface, ScriptControl, IConnectionPointContainer_iface); @@ -191,6 +197,9 @@ static HRESULT WINAPI ScriptControl_QueryInterface(IScriptControl *iface, REFIID }else if(IsEqualGUID(&IID_IOleControl, riid)) { TRACE("(%p)->(IID_IOleControl %p)\n", This, ppv); *ppv = &This->IOleControl_iface; + }else if(IsEqualGUID(&IID_IQuickActivate, riid)) { + TRACE("(%p)->(IID_IQuickActivate %p)\n", This, ppv); + *ppv = &This->IQuickActivate_iface; }else if(IsEqualGUID(&IID_IConnectionPointContainer, riid)) { TRACE("(%p)->(IID_IConnectionPointContainer %p)\n", This, ppv); *ppv = &This->IConnectionPointContainer_iface; @@ -885,6 +894,60 @@ static const IOleControlVtbl OleControlVtbl = { OleControl_FreezeEvents };
+static HRESULT WINAPI QuickActivate_QueryInterface(IQuickActivate *iface, REFIID riid, void **obj) +{ + ScriptControl *This = impl_from_IQuickActivate(iface); + return IScriptControl_QueryInterface(&This->IScriptControl_iface, riid, obj); +} + +static ULONG WINAPI QuickActivate_AddRef(IQuickActivate *iface) +{ + ScriptControl *This = impl_from_IQuickActivate(iface); + return IScriptControl_AddRef(&This->IScriptControl_iface); +} + +static ULONG WINAPI QuickActivate_Release(IQuickActivate *iface) +{ + ScriptControl *This = impl_from_IQuickActivate(iface); + return IScriptControl_Release(&This->IScriptControl_iface); +} + +static HRESULT WINAPI QuickActivate_QuickActivate(IQuickActivate *iface, QACONTAINER *container, QACONTROL *control) +{ + ScriptControl *This = impl_from_IQuickActivate(iface); + + FIXME("(%p)->(%p %p)\n", This, container, control); + + return E_NOTIMPL; +} + +static HRESULT WINAPI QuickActivate_SetContentExtent(IQuickActivate *iface, SIZEL *size) +{ + ScriptControl *This = impl_from_IQuickActivate(iface); + + FIXME("(%p)->(%p)\n", This, size); + + return E_NOTIMPL; +} + +static HRESULT WINAPI QuickActivate_GetContentExtent(IQuickActivate *iface, SIZEL *size) +{ + ScriptControl *This = impl_from_IQuickActivate(iface); + + FIXME("(%p)->(%p)\n", This, size); + + return E_NOTIMPL; +} + +static const IQuickActivateVtbl QuickActivateVtbl = { + QuickActivate_QueryInterface, + QuickActivate_AddRef, + QuickActivate_Release, + QuickActivate_QuickActivate, + QuickActivate_SetContentExtent, + QuickActivate_GetContentExtent +}; + static HRESULT WINAPI ConnectionPointContainer_QueryInterface(IConnectionPointContainer *iface, REFIID riid, void **obj) { ScriptControl *This = impl_from_IConnectionPointContainer(iface); @@ -1063,6 +1126,7 @@ static HRESULT WINAPI ScriptControl_CreateInstance(IClassFactory *iface, IUnknow script_control->IPersistStreamInit_iface.lpVtbl = &PersistStreamInitVtbl; script_control->IOleObject_iface.lpVtbl = &OleObjectVtbl; script_control->IOleControl_iface.lpVtbl = &OleControlVtbl; + script_control->IQuickActivate_iface.lpVtbl = &QuickActivateVtbl; script_control->IConnectionPointContainer_iface.lpVtbl = &ConnectionPointContainerVtbl; script_control->ref = 1; script_control->site = NULL; diff --git a/dlls/msscript.ocx/tests/msscript.c b/dlls/msscript.ocx/tests/msscript.c index 89fd197..5300c93 100644 --- a/dlls/msscript.ocx/tests/msscript.c +++ b/dlls/msscript.ocx/tests/msscript.c @@ -809,6 +809,23 @@ static void test_connectionpoints(void) IScriptControl_Release(sc); }
+static void test_quickactivate(void) +{ + IScriptControl *sc; + IQuickActivate *qa; + HRESULT hr; + + hr = CoCreateInstance(&CLSID_ScriptControl, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER, + &IID_IScriptControl, (void**)&sc); + ok(hr == S_OK, "got 0x%08x\n", hr); + + hr = IScriptControl_QueryInterface(sc, &IID_IQuickActivate, (void**)&qa); + ok(hr == S_OK, "got 0x%08x\n", hr); + + IQuickActivate_Release(qa); + IScriptControl_Release(sc); +} + START_TEST(msscript) { IUnknown *unk; @@ -829,6 +846,7 @@ START_TEST(msscript) test_olecontrol(); test_Language(); test_connectionpoints(); + test_quickactivate();
CoUninitialize(); }