Module: wine Branch: master Commit: 316cd276608f70aab119d9d24836f411e5a6e347 URL: http://source.winehq.org/git/wine.git/?a=commit;h=316cd276608f70aab119d9d248...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Sep 8 22:27:31 2009 +0200
mshtml: Added JSProtocol class factory stub implementation.
---
dlls/mshtml/protocol.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 54 insertions(+), 0 deletions(-)
diff --git a/dlls/mshtml/protocol.c b/dlls/mshtml/protocol.c index 97a3a59..b25bf94 100644 --- a/dlls/mshtml/protocol.c +++ b/dlls/mshtml/protocol.c @@ -938,6 +938,58 @@ static ProtocolFactory ResProtocolFactory = { &ResProtocolFactoryVtbl };
+/******************************************************************** + * JSProtocol implementation + */ + +static HRESULT WINAPI JSProtocolFactory_CreateInstance(IClassFactory *iface, IUnknown *pUnkOuter, + REFIID riid, void **ppv) +{ + FIXME("(%p)->(%p %s %p)\n", iface, pUnkOuter, debugstr_guid(riid), ppv); + return E_NOTIMPL; +} + +static HRESULT WINAPI JSProtocolInfo_ParseUrl(IInternetProtocolInfo *iface, LPCWSTR pwzUrl, + PARSEACTION ParseAction, DWORD dwParseFlags, LPWSTR pwzResult, DWORD cchResult, + DWORD* pcchResult, DWORD dwReserved) +{ + FIXME("%p)->(%s %d %x %p %d %p %d)\n", iface, debugstr_w(pwzUrl), ParseAction, + dwParseFlags, pwzResult, cchResult, pcchResult, dwReserved); + return E_NOTIMPL; +} + +static HRESULT WINAPI JSProtocolInfo_QueryInfo(IInternetProtocolInfo *iface, LPCWSTR pwzUrl, + QUERYOPTION QueryOption, DWORD dwQueryFlags, LPVOID pBuffer, DWORD cbBuffer, DWORD* pcbBuf, + DWORD dwReserved) +{ + FIXME("%p)->(%s %08x %08x %p %d %p %d)\n", iface, debugstr_w(pwzUrl), QueryOption, dwQueryFlags, pBuffer, + cbBuffer, pcbBuf, dwReserved); + return E_NOTIMPL; +} + +static const IInternetProtocolInfoVtbl JSProtocolInfoVtbl = { + InternetProtocolInfo_QueryInterface, + InternetProtocolInfo_AddRef, + InternetProtocolInfo_Release, + JSProtocolInfo_ParseUrl, + InternetProtocolInfo_CombineUrl, + InternetProtocolInfo_CompareUrl, + JSProtocolInfo_QueryInfo +}; + +static const IClassFactoryVtbl JSProtocolFactoryVtbl = { + ClassFactory_QueryInterface, + ClassFactory_AddRef, + ClassFactory_Release, + JSProtocolFactory_CreateInstance, + ClassFactory_LockServer +}; + +static ProtocolFactory JSProtocolFactory = { + &JSProtocolInfoVtbl, + &JSProtocolFactoryVtbl +}; + HRESULT ProtocolFactory_Create(REFCLSID rclsid, REFIID riid, void **ppv) { ProtocolFactory *cf = NULL; @@ -946,6 +998,8 @@ HRESULT ProtocolFactory_Create(REFCLSID rclsid, REFIID riid, void **ppv) cf = &AboutProtocolFactory; else if(IsEqualGUID(&CLSID_ResProtocol, rclsid)) cf = &ResProtocolFactory; + else if(IsEqualGUID(&CLSID_JSProtocol, rclsid)) + cf = &JSProtocolFactory;
if(!cf) { FIXME("not implemented protocol %s\n", debugstr_guid(rclsid));