Back to index

lightning-sunbird  0.9+nobinonly
Public Member Functions | Public Attributes
nsScriptablePeerTearOff Class Reference

#include <XPConnect.h>

Inheritance diagram for nsScriptablePeerTearOff:
Inheritance graph
[legend]
Collaboration diagram for nsScriptablePeerTearOff:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 nsScriptablePeerTearOff (nsScriptablePeer *pOwner)
virtual HRESULT STDMETHODCALLTYPE QueryInterface (REFIID riid, void **ppvObject)
virtual ULONG STDMETHODCALLTYPE AddRef (void)
virtual ULONG STDMETHODCALLTYPE Release (void)
virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount (UINT __RPC_FAR *pctinfo)
virtual HRESULT STDMETHODCALLTYPE GetTypeInfo (UINT iTInfo, LCID lcid, ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo)
virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames (REFIID riid, LPOLESTR __RPC_FAR *rgszNames, UINT cNames, LCID lcid, DISPID __RPC_FAR *rgDispId)
virtual HRESULT STDMETHODCALLTYPE Invoke (DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS __RPC_FAR *pDispParams, VARIANT __RPC_FAR *pVarResult, EXCEPINFO __RPC_FAR *pExcepInfo, UINT __RPC_FAR *puArgErr)

Public Attributes

nsScriptablePeermOwner

Detailed Description

Definition at line 114 of file XPConnect.h.


Constructor & Destructor Documentation

Definition at line 850 of file XPConnect.cpp.

                                                                         :
    mOwner(pOwner)
{
    NS_ASSERTION(mOwner, "no owner");
}

Member Function Documentation

ULONG STDMETHODCALLTYPE nsScriptablePeerTearOff::AddRef ( void  ) [virtual]

Definition at line 869 of file XPConnect.cpp.

{
    return mOwner->AddRef();
}
HRESULT STDMETHODCALLTYPE nsScriptablePeerTearOff::GetIDsOfNames ( REFIID  riid,
LPOLESTR __RPC_FAR *  rgszNames,
UINT  cNames,
LCID  lcid,
DISPID __RPC_FAR *  rgDispId 
) [virtual]

Definition at line 900 of file XPConnect.cpp.

{
    CComPtr<IDispatch> disp;
    if (FAILED(mOwner->GetIDispatch(&disp)))
    {
        return E_UNEXPECTED;
    }
    return disp->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

Here is the call graph for this function:

HRESULT STDMETHODCALLTYPE nsScriptablePeerTearOff::GetTypeInfo ( UINT  iTInfo,
LCID  lcid,
ITypeInfo __RPC_FAR *__RPC_FAR *  ppTInfo 
) [virtual]

Definition at line 890 of file XPConnect.cpp.

{
    CComPtr<IDispatch> disp;
    if (FAILED(mOwner->GetIDispatch(&disp)))
    {
        return E_UNEXPECTED;
    }
    return disp->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

Here is the call graph for this function:

HRESULT STDMETHODCALLTYPE nsScriptablePeerTearOff::GetTypeInfoCount ( UINT __RPC_FAR *  pctinfo) [virtual]

Definition at line 880 of file XPConnect.cpp.

{
    CComPtr<IDispatch> disp;
    if (FAILED(mOwner->GetIDispatch(&disp)))
    {
        return E_UNEXPECTED;
    }
    return disp->GetTypeInfoCount(pctinfo);
}

Here is the call graph for this function:

HRESULT STDMETHODCALLTYPE nsScriptablePeerTearOff::Invoke ( DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS __RPC_FAR *  pDispParams,
VARIANT __RPC_FAR *  pVarResult,
EXCEPINFO __RPC_FAR *  pExcepInfo,
UINT __RPC_FAR *  puArgErr 
) [virtual]

Definition at line 910 of file XPConnect.cpp.

{
    CComPtr<IDispatch> disp;
    if (FAILED(mOwner->GetIDispatch(&disp)))
    {
        return E_UNEXPECTED;
    }
    return disp->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
}

Here is the call graph for this function:

HRESULT STDMETHODCALLTYPE nsScriptablePeerTearOff::QueryInterface ( REFIID  riid,
void **  ppvObject 
) [virtual]

Definition at line 856 of file XPConnect.cpp.

{
    if (::IsEqualIID(riid, _uuidof(IDispatch)))
    {
        *ppvObject = dynamic_cast<IDispatch *>(this);
        mOwner->AddRef();
        return NS_OK;
    }
    nsID iid;
    memcpy(&iid, &riid, sizeof(nsID));
    return mOwner->QueryInterface(iid, ppvObject);
}

Here is the call graph for this function:

Here is the caller graph for this function:

ULONG STDMETHODCALLTYPE nsScriptablePeerTearOff::Release ( void  ) [virtual]

Definition at line 874 of file XPConnect.cpp.

{
    return mOwner->Release();
}

Member Data Documentation

Definition at line 119 of file XPConnect.h.


The documentation for this class was generated from the following files: