Piotr Caban : shdocvw: Added IDocObjectService interface stub.

Alexandre Julliard julliard at winehq.org
Tue Mar 15 11:33:55 CDT 2011


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Mon Mar 14 17:49:58 2011 +0100

shdocvw: Added IDocObjectService interface stub.

---

 dlls/shdocvw/shellbrowser.c |  152 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 152 insertions(+), 0 deletions(-)

diff --git a/dlls/shdocvw/shellbrowser.c b/dlls/shdocvw/shellbrowser.c
index 6c86611..2715bcc 100644
--- a/dlls/shdocvw/shellbrowser.c
+++ b/dlls/shdocvw/shellbrowser.c
@@ -21,12 +21,14 @@
 #include "wine/debug.h"
 #include "shdocvw.h"
 #include "shdeprecated.h"
+#include "docobjectservice.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
 
 typedef struct {
     IShellBrowser IShellBrowser_iface;
     IBrowserService IBrowserService_iface;
+    IDocObjectService IDocObjectService_iface;
 
     LONG ref;
 } ShellBrowser;
@@ -49,6 +51,8 @@ static HRESULT WINAPI ShellBrowser_QueryInterface(
         *ppvObject = &This->IShellBrowser_iface;
     else if(IsEqualGUID(&IID_IBrowserService, riid))
         *ppvObject = &This->IBrowserService_iface;
+    else if(IsEqualGUID(&IID_IDocObjectService, riid))
+        *ppvObject = &This->IDocObjectService_iface;
 
     if(*ppvObject) {
         TRACE("%p %s %p\n", This, debugstr_guid(riid), ppvObject);
@@ -606,6 +610,153 @@ static const IBrowserServiceVtbl BrowserServiceVtbl = {
     BrowserService_RegisterWindow
 };
 
+static inline ShellBrowser *impl_from_IDocObjectService(IDocObjectService *iface)
+{
+    return CONTAINING_RECORD(iface, ShellBrowser, IDocObjectService_iface);
+}
+
+static HRESULT WINAPI DocObjectService_QueryInterface(
+        IDocObjectService* iface,
+        REFIID riid,
+        void **ppvObject)
+{
+    ShellBrowser *This = impl_from_IDocObjectService(iface);
+    return IShellBrowser_QueryInterface(&This->IShellBrowser_iface, riid, ppvObject);
+}
+
+static ULONG WINAPI DocObjectService_AddRef(
+        IDocObjectService* iface)
+{
+    ShellBrowser *This = impl_from_IDocObjectService(iface);
+    return IShellBrowser_AddRef(&This->IShellBrowser_iface);
+}
+
+static ULONG WINAPI DocObjectService_Release(
+        IDocObjectService* iface)
+{
+    ShellBrowser *This = impl_from_IDocObjectService(iface);
+    return IShellBrowser_Release(&This->IShellBrowser_iface);
+}
+
+static HRESULT WINAPI DocObjectService_FireBeforeNavigate2(
+        IDocObjectService* iface,
+        IDispatch *pDispatch,
+        LPCWSTR lpszUrl,
+        DWORD dwFlags,
+        LPCWSTR lpszFrameName,
+        BYTE *pPostData,
+        DWORD cbPostData,
+        LPCWSTR lpszHeaders,
+        BOOL fPlayNavSound,
+        BOOL *pfCancel)
+{
+    ShellBrowser *This = impl_from_IDocObjectService(iface);
+    FIXME("%p %p %s %x %s %p %d %s %d %p\n", This, pDispatch, debugstr_w(lpszUrl),
+            dwFlags, debugstr_w(lpszFrameName), pPostData, cbPostData,
+            debugstr_w(lpszHeaders), fPlayNavSound, pfCancel);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI DocObjectService_FireNavigateComplete2(
+        IDocObjectService* iface,
+        IHTMLWindow2 *pHTMLWindow2,
+        DWORD dwFlags)
+{
+    ShellBrowser *This = impl_from_IDocObjectService(iface);
+    FIXME("%p %p %x\n", This, pHTMLWindow2, dwFlags);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI DocObjectService_FireDownloadBegin(
+        IDocObjectService* iface)
+{
+    ShellBrowser *This = impl_from_IDocObjectService(iface);
+    FIXME("%p\n", This);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI DocObjectService_FireDownloadComplete(
+        IDocObjectService* iface)
+{
+    ShellBrowser *This = impl_from_IDocObjectService(iface);
+    FIXME("%p\n", This);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI DocObjectService_FireDocumentComplete(
+        IDocObjectService* iface,
+        IHTMLWindow2 *pHTMLWindow,
+        DWORD dwFlags)
+{
+    ShellBrowser *This = impl_from_IDocObjectService(iface);
+    FIXME("%p %p %x\n", This, pHTMLWindow, dwFlags);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI DocObjectService_UpdateDesktopComponent(
+        IDocObjectService* iface,
+        IHTMLWindow2 *pHTMLWindow)
+{
+    ShellBrowser *This = impl_from_IDocObjectService(iface);
+    FIXME("%p %p\n", This, pHTMLWindow);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI DocObjectService_GetPendingUrl(
+        IDocObjectService* iface,
+        BSTR *pbstrPendingUrl)
+{
+    ShellBrowser *This = impl_from_IDocObjectService(iface);
+    FIXME("%p %p\n", This, pbstrPendingUrl);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI DocObjectService_ActiveElementChanged(
+        IDocObjectService* iface,
+        IHTMLElement *pHTMLElement)
+{
+    ShellBrowser *This = impl_from_IDocObjectService(iface);
+    FIXME("%p %p\n", This, pHTMLElement);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI DocObjectService_GetUrlSearchComponent(
+        IDocObjectService* iface,
+        BSTR *pbstrSearch)
+{
+    ShellBrowser *This = impl_from_IDocObjectService(iface);
+    FIXME("%p %p\n", This, pbstrSearch);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI DocObjectService_IsErrorUrl(
+        IDocObjectService* iface,
+        LPCWSTR lpszUrl,
+        BOOL *pfIsError)
+{
+    ShellBrowser *This = impl_from_IDocObjectService(iface);
+    FIXME("%p %s %p\n", This, debugstr_w(lpszUrl), pfIsError);
+
+    *pfIsError = FALSE;
+    return S_OK;
+}
+
+static const IDocObjectServiceVtbl DocObjectServiceVtbl = {
+    DocObjectService_QueryInterface,
+    DocObjectService_AddRef,
+    DocObjectService_Release,
+    DocObjectService_FireBeforeNavigate2,
+    DocObjectService_FireNavigateComplete2,
+    DocObjectService_FireDownloadBegin,
+    DocObjectService_FireDownloadComplete,
+    DocObjectService_FireDocumentComplete,
+    DocObjectService_UpdateDesktopComponent,
+    DocObjectService_GetPendingUrl,
+    DocObjectService_ActiveElementChanged,
+    DocObjectService_GetUrlSearchComponent,
+    DocObjectService_IsErrorUrl
+};
+
 HRESULT ShellBrowser_Create(IShellBrowser **ppv)
 {
     ShellBrowser *sb = heap_alloc(sizeof(ShellBrowser));
@@ -614,6 +765,7 @@ HRESULT ShellBrowser_Create(IShellBrowser **ppv)
 
     sb->IShellBrowser_iface.lpVtbl = &ShellBrowserVtbl;
     sb->IBrowserService_iface.lpVtbl = &BrowserServiceVtbl;
+    sb->IDocObjectService_iface.lpVtbl = &DocObjectServiceVtbl;
 
     sb->ref = 1;
 




More information about the wine-cvs mailing list