Jacek Caban : mshtml: Added JSProtocol class factory stub implementation.

Alexandre Julliard julliard at winehq.org
Wed Sep 9 09:55:56 CDT 2009


Module: wine
Branch: master
Commit: 316cd276608f70aab119d9d24836f411e5a6e347
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=316cd276608f70aab119d9d24836f411e5a6e347

Author: Jacek Caban <jacek at 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));




More information about the wine-cvs mailing list