static HRESULT WINAPI WBOleCommandTarget_QueryStatus(IOleCommandTarget *iface, const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText) { WebBrowser *This = OLECMD_THIS(iface); IOleCommandTarget *cmdtrg; HRESULT hres; TRACE("(%p)->(%s %u %p %p)\n", This, debugstr_guid(pguidCmdGroup), cCmds, prgCmds, pCmdText); if(!This->doc_host.document) return 0x80040104; /* NOTE: There are probably some commands that we should handle here * instead of forwarding to document object. */ hres = IUnknown_QueryInterface(This->doc_host.document, &IID_IOleCommandTarget, (void**)&cmdtrg); if(FAILED(hres)) return hres; hres = IOleCommandTarget_QueryStatus(cmdtrg, pguidCmdGroup, cCmds, prgCmds, pCmdText); IOleCommandTarget_Release(cmdtrg); return hres; }
static HRESULT WINAPI ClOleCommandTarget_Exec(IOleCommandTarget *iface, const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) { DocHost *This = OLECMD_THIS(iface); TRACE("(%p)->(%s %d %d %p %p)\n", This, debugstr_guid(pguidCmdGroup), nCmdID, nCmdexecopt, debugstr_variant(pvaIn), debugstr_variant(pvaOut)); if(!pguidCmdGroup) { FIXME("Unimplemented cmdid %d\n", nCmdID); return E_NOTIMPL; } if(IsEqualGUID(pguidCmdGroup, &CGID_DocHostCmdPriv)) { switch(nCmdID) { case DOCHOST_DOCCANNAVIGATE: if(!pvaIn || V_VT(pvaIn) != VT_UNKNOWN) return E_INVALIDARG; if(This->doc_navigate) IUnknown_Release(This->doc_navigate); IUnknown_AddRef(V_UNKNOWN(pvaIn)); This->doc_navigate = V_UNKNOWN(pvaIn); return S_OK; default: FIXME("unsupported command %d of CGID_DocHostCmdPriv\n", nCmdID); return E_NOTIMPL; } } FIXME("Unimplemented group %s\n", debugstr_guid(pguidCmdGroup)); return E_NOTIMPL; }
static HRESULT WINAPI WBOleCommandTarget_QueryStatus(IOleCommandTarget *iface, const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText) { WebBrowser *This = OLECMD_THIS(iface); FIXME("(%p)->(%s %lu %p %p)\n", This, debugstr_guid(pguidCmdGroup), cCmds, prgCmds, pCmdText); return E_NOTIMPL; }
static HRESULT WINAPI WBOleCommandTarget_Exec(IOleCommandTarget *iface, const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) { WebBrowser *This = OLECMD_THIS(iface); FIXME("(%p)->(%s %ld %ld %p %p)\n", This, debugstr_guid(pguidCmdGroup), nCmdID, nCmdexecopt, pvaIn, pvaOut); return E_NOTIMPL; }
static HRESULT WINAPI ClOleCommandTarget_QueryStatus(IOleCommandTarget *iface, const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText) { DocHost *This = OLECMD_THIS(iface); ULONG i= 0; FIXME("(%p)->(%s %u %p %p)\n", This, debugstr_guid(pguidCmdGroup), cCmds, prgCmds, pCmdText); while (prgCmds && (cCmds > i)) { FIXME("command_%u: %u, 0x%x\n", i, prgCmds[i].cmdID, prgCmds[i].cmdf); i++; } return E_NOTIMPL; }
static ULONG WINAPI WBOleCommandTarget_Release(IOleCommandTarget *iface) { WebBrowser *This = OLECMD_THIS(iface); return IWebBrowser2_Release(WEBBROWSER(This)); }
static HRESULT WINAPI WBOleCommandTarget_QueryInterface(IOleCommandTarget *iface, REFIID riid, void **ppv) { WebBrowser *This = OLECMD_THIS(iface); return IWebBrowser2_QueryInterface(WEBBROWSER(This), riid, ppv); }
static ULONG WINAPI ClOleCommandTarget_Release(IOleCommandTarget *iface) { DocHost *This = OLECMD_THIS(iface); return IOleClientSite_Release(CLIENTSITE(This)); }
static HRESULT WINAPI ClOleCommandTarget_QueryInterface(IOleCommandTarget *iface, REFIID riid, void **ppv) { DocHost *This = OLECMD_THIS(iface); return IOleClientSite_QueryInterface(CLIENTSITE(This), riid, ppv); }