Module: wine Branch: master Commit: 12a589843607bd413086dea9596fa1b426e4a559 URL: http://source.winehq.org/git/wine.git/?a=commit;h=12a589843607bd413086dea959...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Mar 19 11:31:36 2008 +0100
jscript: Added IActiveScriptParse stub implementation.
---
dlls/jscript/jscript.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 73 insertions(+), 3 deletions(-)
diff --git a/dlls/jscript/jscript.c b/dlls/jscript/jscript.c index 948b340..c128906 100644 --- a/dlls/jscript/jscript.c +++ b/dlls/jscript/jscript.c @@ -24,12 +24,14 @@ WINE_DEFAULT_DEBUG_CHANNEL(jscript);
typedef struct { - const IActiveScriptVtbl *lpIActiveScriptVtbl; + const IActiveScriptVtbl *lpIActiveScriptVtbl; + const IActiveScriptParseVtbl *lpIActiveScriptParseVtbl;
LONG ref; } JScript;
-#define ACTSCRIPT(x) ((IActiveScript*) &(x)->lpIActiveScriptVtbl) +#define ACTSCRIPT(x) ((IActiveScript*) &(x)->lpIActiveScriptVtbl) +#define ASPARSE(x) ((IActiveScriptParse*) &(x)->lpIActiveScriptParseVtbl)
#define ACTSCRIPT_THIS(iface) DEFINE_THIS(JScript, IActiveScript, iface)
@@ -45,6 +47,9 @@ static HRESULT WINAPI JScript_QueryInterface(IActiveScript *iface, REFIID riid, }else if(IsEqualGUID(riid, &IID_IActiveScript)) { TRACE("(%p)->(IID_IActiveScript %p)\n", This, ppv); *ppv = ACTSCRIPT(This); + }else if(IsEqualGUID(riid, &IID_IActiveScriptParse)) { + TRACE("(%p)->(IID_IActiveScriptParse %p)\n", This, ppv); + *ppv = ASPARSE(This); }
if(*ppv) { @@ -200,6 +205,70 @@ static const IActiveScriptVtbl JScriptVtbl = { JScript_Clone };
+#define ASPARSE_THIS(iface) DEFINE_THIS(JScript, IActiveScriptParse, iface) + +static HRESULT WINAPI JScriptParse_QueryInterface(IActiveScriptParse *iface, REFIID riid, void **ppv) +{ + JScript *This = ASPARSE_THIS(iface); + return IActiveScript_QueryInterface(ACTSCRIPT(This), riid, ppv); +} + +static ULONG WINAPI JScriptParse_AddRef(IActiveScriptParse *iface) +{ + JScript *This = ASPARSE_THIS(iface); + return IActiveScript_AddRef(ACTSCRIPT(This)); +} + +static ULONG WINAPI JScriptParse_Release(IActiveScriptParse *iface) +{ + JScript *This = ASPARSE_THIS(iface); + return IActiveScript_Release(ACTSCRIPT(This)); +} + +static HRESULT WINAPI JScriptParse_InitNew(IActiveScriptParse *iface) +{ + JScript *This = ASPARSE_THIS(iface); + FIXME("(%p)\n", This); + return E_NOTIMPL; +} + +static HRESULT WINAPI JScriptParse_AddScriptlet(IActiveScriptParse *iface, + LPCOLESTR pstrDefaultName, LPCOLESTR pstrCode, LPCOLESTR pstrItemName, + LPCOLESTR pstrSubItemName, LPCOLESTR pstrEventName, LPCOLESTR pstrDelimiter, + DWORD dwSourceContextCookie, ULONG ulStartingLineNumber, DWORD dwFlags, + BSTR *pbstrName, EXCEPINFO *pexcepinfo) +{ + JScript *This = ASPARSE_THIS(iface); + FIXME("(%p)->(%s %s %s %s %s %s %x %u %x %p %p)\n", This, debugstr_w(pstrDefaultName), + debugstr_w(pstrCode), debugstr_w(pstrItemName), debugstr_w(pstrSubItemName), + debugstr_w(pstrEventName), debugstr_w(pstrDelimiter), dwSourceContextCookie, + ulStartingLineNumber, dwFlags, pbstrName, pexcepinfo); + return E_NOTIMPL; +} + +static HRESULT WINAPI JScriptParse_ParseScriptText(IActiveScriptParse *iface, + LPCOLESTR pstrCode, LPCOLESTR pstrItemName, IUnknown *punkContext, + LPCOLESTR pstrDelimiter, DWORD dwSourceContextCookie, ULONG ulStartingLine, + DWORD dwFlags, VARIANT *pvarResult, EXCEPINFO *pexcepinfo) +{ + JScript *This = ASPARSE_THIS(iface); + FIXME("(%p)->(%s %s %p %s %x %u %x %p %p)\n", This, debugstr_w(pstrCode), + debugstr_w(pstrItemName), punkContext, debugstr_w(pstrDelimiter), + dwSourceContextCookie, ulStartingLine, dwFlags, pvarResult, pexcepinfo); + return E_NOTIMPL; +} + +#undef ASPARSE_THIS + +static const IActiveScriptParseVtbl JScriptParseVtbl = { + JScriptParse_QueryInterface, + JScriptParse_AddRef, + JScriptParse_Release, + JScriptParse_InitNew, + JScriptParse_AddScriptlet, + JScriptParse_ParseScriptText +}; + HRESULT WINAPI JScriptFactory_CreateInstance(IClassFactory *iface, IUnknown *pUnkOuter, REFIID riid, void **ppv) { @@ -210,7 +279,8 @@ HRESULT WINAPI JScriptFactory_CreateInstance(IClassFactory *iface, IUnknown *pUn
ret = heap_alloc(sizeof(*ret));
- ret->lpIActiveScriptVtbl = &JScriptVtbl; + ret->lpIActiveScriptVtbl = &JScriptVtbl; + ret->lpIActiveScriptParseVtbl = &JScriptParseVtbl; ret->ref = 1;
hres = IActiveScript_QueryInterface(ACTSCRIPT(ret), riid, ppv);