static HRESULT WINAPI ConnectionPointContainer_EnumConnectionPoints(IConnectionPointContainer *iface, IEnumConnectionPoints **ppEnum) { ConnectionPointContainer *This = CONPTCONT_THIS(iface); FIXME("(%p)->(%p)\n", This, ppEnum); return E_NOTIMPL; }
static HRESULT WINAPI ConnectionPointContainer_FindConnectionPoint(IConnectionPointContainer *iface, REFIID riid, IConnectionPoint **ppCP) { ConnectionPointContainer *This = CONPTCONT_THIS(iface); ConnectionPoint *iter; TRACE("(%p)->(%s %p)\n", This, debugstr_cp_guid(riid), ppCP); if(This->forward_container) return IConnectionPointContainer_FindConnectionPoint(CONPTCONT(This), riid, ppCP); *ppCP = NULL; for(iter = This->cp_list; iter; iter = iter->next) { if(IsEqualGUID(iter->iid, riid)) *ppCP = CONPOINT(iter); } if(*ppCP) { IConnectionPoint_AddRef(*ppCP); return S_OK; } FIXME("unsupported riid %s\n", debugstr_cp_guid(riid)); return CONNECT_E_NOCONNECTION; }
static HRESULT WINAPI ConnectionPointContainer_FindConnectionPoint(IConnectionPointContainer *iface, REFIID riid, LPCONNECTIONPOINT *ppCP) { ConnectionPointContainer *This = CONPTCONT_THIS(iface); if(!ppCP) { WARN("ppCP == NULL\n"); return E_POINTER; } *ppCP = NULL; if(IsEqualGUID(&DIID_DWebBrowserEvents2, riid)) { TRACE("(%p)->(DIID_DWebBrowserEvents2 %p)\n", This, ppCP); *ppCP = CONPOINT(This->wbe2); }else if(IsEqualGUID(&DIID_DWebBrowserEvents, riid)) { TRACE("(%p)->(DIID_DWebBrowserEvents %p)\n", This, ppCP); *ppCP = CONPOINT(This->wbe); }else if(IsEqualGUID(&IID_IPropertyNotifySink, riid)) { TRACE("(%p)->(IID_IPropertyNotifySink %p)\n", This, ppCP); *ppCP = CONPOINT(This->pns); } if(*ppCP) { IConnectionPoint_AddRef(*ppCP); return S_OK; } WARN("Unsupported IID %s\n", debugstr_guid(riid)); return CONNECT_E_NOCONNECTION; }
static ULONG WINAPI ConnectionPointContainer_Release(IConnectionPointContainer *iface) { ConnectionPointContainer *This = CONPTCONT_THIS(iface); return IUnknown_Release(This->outer); }
static HRESULT WINAPI ConnectionPointContainer_QueryInterface(IConnectionPointContainer *iface, REFIID riid, void **ppv) { ConnectionPointContainer *This = CONPTCONT_THIS(iface); return IUnknown_QueryInterface(This->outer, riid, ppv); }
static ULONG WINAPI ConnectionPointContainer_AddRef(IConnectionPointContainer *iface) { ConnectionPointContainer *This = CONPTCONT_THIS(iface); return IUnknown_AddRef(This->impl); }