Back to index

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

#include <xptiprivate.h>

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

List of all members.

Public Member Functions

NS_DECL_ISUPPORTS NS_IMETHOD GetName (char **aName)
NS_IMETHOD GetInterfaceIID (nsIID **aIID)
NS_IMETHOD IsScriptable (PRBool *_retval)
NS_IMETHOD GetParent (nsIInterfaceInfo **aParent)
NS_IMETHOD GetMethodCount (PRUint16 *aMethodCount)
NS_IMETHOD GetConstantCount (PRUint16 *aConstantCount)
NS_IMETHOD GetMethodInfo (PRUint16 index, const nsXPTMethodInfo **info)
NS_IMETHOD GetMethodInfoForName (const char *methodName, PRUint16 *index, const nsXPTMethodInfo **info)
NS_IMETHOD GetConstant (PRUint16 index, const nsXPTConstant **constant)
NS_IMETHOD GetInfoForParam (PRUint16 methodIndex, const nsXPTParamInfo *param, nsIInterfaceInfo **_retval)
NS_IMETHOD GetIIDForParam (PRUint16 methodIndex, const nsXPTParamInfo *param, nsIID **_retval)
NS_IMETHOD GetTypeForParam (PRUint16 methodIndex, const nsXPTParamInfo *param, PRUint16 dimension, nsXPTType *_retval)
NS_IMETHOD GetSizeIsArgNumberForParam (PRUint16 methodIndex, const nsXPTParamInfo *param, PRUint16 dimension, PRUint8 *_retval)
NS_IMETHOD GetLengthIsArgNumberForParam (PRUint16 methodIndex, const nsXPTParamInfo *param, PRUint16 dimension, PRUint8 *_retval)
NS_IMETHOD GetInterfaceIsArgNumberForParam (PRUint16 methodIndex, const nsXPTParamInfo *param, PRUint8 *_retval)
NS_IMETHOD IsIID (const nsIID *IID, PRBool *_retval)
NS_IMETHOD GetNameShared (const char **name)
NS_IMETHOD GetIIDShared (const nsIID **iid)
NS_IMETHOD IsFunction (PRBool *_retval)
NS_IMETHOD HasAncestor (const nsIID *iid, PRBool *_retval)
NS_IMETHOD GetIIDForParamNoAlloc (PRUint16 methodIndex, const nsXPTParamInfo *param, nsIID *iid)
 xptiInterfaceInfo (xptiInterfaceEntry *entry)
void Invalidate ()
PRBool isScriptable ()
void getMethodInfo (in PRUint16 index,[shared, retval] out nsXPTMethodInfoPtr info)
 These include methods and constants for parent (and all ancestors).
void getMethodInfoForName (in string methodName, out PRUint16 index,[shared, retval] out nsXPTMethodInfoPtr info)
void getConstant (in PRUint16 index,[shared, retval] out nsXPTConstantPtr constant)
nsIInterfaceInfo getInfoForParam (in PRUint16 methodIndex,[const ] in nsXPTParamInfoPtr param)
 Get the interface information or iid associated with a param of some method in this interface.
nsIIDPtr getIIDForParam (in PRUint16 methodIndex,[const ] in nsXPTParamInfoPtr param)
nsXPTType getTypeForParam (in PRUint16 methodIndex,[const ] in nsXPTParamInfoPtr param, in PRUint16 dimension)
 These do not make copies ***explicit bending of XPCOM rules***.
PRUint8 getSizeIsArgNumberForParam (in PRUint16 methodIndex,[const ] in nsXPTParamInfoPtr param, in PRUint16 dimension)
PRUint8 getLengthIsArgNumberForParam (in PRUint16 methodIndex,[const ] in nsXPTParamInfoPtr param, in PRUint16 dimension)
PRUint8 getInterfaceIsArgNumberForParam (in PRUint16 methodIndex,[const ] in nsXPTParamInfoPtr param)
PRBool isIID (in nsIIDPtr IID)
void getNameShared ([shared, retval] out string name)
void getIIDShared ([shared, retval] out nsIIDPtrShared iid)
PRBool isFunction ()
PRBool hasAncestor (in nsIIDPtr iid)
nsresult getIIDForParamNoAlloc (in PRUint16 methodIndex,[const ] in nsXPTParamInfoPtr param, out nsIID iid)

Public Attributes

readonly attribute string name
readonly attribute nsIIDPtr InterfaceIID
readonly attribute nsIInterfaceInfo parent
readonly attribute PRUint16 methodCount
 These include counts for parent (and all ancestors).
readonly attribute PRUint16 constantCount

Private Member Functions

 ~xptiInterfaceInfo ()
PRBool EnsureParent (xptiWorkingSet *aWorkingSet=nsnull)
PRBool EnsureResolved (xptiWorkingSet *aWorkingSet=nsnull)
PRBool BuildParent ()
 xptiInterfaceInfo ()

Private Attributes

xptiInterfaceEntrymEntry
xptiInterfaceInfomParent

Detailed Description

Definition at line 686 of file xptiprivate.h.


Constructor & Destructor Documentation

Definition at line 761 of file xptiInterfaceInfo.cpp.

    : mEntry(entry), mParent(nsnull)
{
    LOG_INFO_CREATE(this);
}

Definition at line 767 of file xptiInterfaceInfo.cpp.

{
    LOG_INFO_DESTROY(this);
    NS_IF_RELEASE(mParent); 
    NS_ASSERTION(!mEntry, "bad state in dtor");
}

Member Function Documentation

PRBool xptiInterfaceInfo::BuildParent ( ) [inline, private]

Definition at line 747 of file xptiprivate.h.

    {
        NS_ASSERTION(mEntry && 
                     mEntry->IsFullyResolved() && 
                     !mParent &&
                     mEntry->GetInterfaceGuts()->mParent,
                    "bad BuildParent call");
        return NS_SUCCEEDED(mEntry->GetInterfaceGuts()->mParent->
                                        GetInterfaceInfo(&mParent));
    }

Here is the call graph for this function:

Here is the caller graph for this function:

PRBool xptiInterfaceInfo::EnsureParent ( xptiWorkingSet aWorkingSet = nsnull) [inline, private]

Definition at line 736 of file xptiprivate.h.

    {
        NS_ASSERTION(mEntry && mEntry->IsFullyResolved(), "bad EnsureParent call");
        return mParent || !mEntry->GetInterfaceGuts()->mParent || BuildParent();
    }

Here is the call graph for this function:

Here is the caller graph for this function:

PRBool xptiInterfaceInfo::EnsureResolved ( xptiWorkingSet aWorkingSet = nsnull) [inline, private]

Definition at line 742 of file xptiprivate.h.

    {
        return mEntry && mEntry->EnsureResolved(aWorkingSet);
    }

Here is the call graph for this function:

Here is the caller graph for this function:

void nsIInterfaceInfo::getConstant ( in PRUint16  index,
[shared, retval] out nsXPTConstantPtr  constant 
) [inherited]
NS_IMETHOD xptiInterfaceInfo::GetConstant ( PRUint16  index,
const nsXPTConstant **  constant 
) [inline]

Definition at line 707 of file xptiprivate.h.

{ return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->GetConstant(index, constant); }

Here is the call graph for this function:

Definition at line 704 of file xptiprivate.h.

{ return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->GetConstantCount(aConstantCount); }

Here is the call graph for this function:

nsIIDPtr nsIInterfaceInfo::getIIDForParam ( in PRUint16  methodIndex,
[const ] in nsXPTParamInfoPtr  param 
) [inherited]
NS_IMETHOD xptiInterfaceInfo::GetIIDForParam ( PRUint16  methodIndex,
const nsXPTParamInfo param,
nsIID **  _retval 
) [inline]

Definition at line 709 of file xptiprivate.h.

{ return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->GetIIDForParam(methodIndex, param, _retval); }

Here is the call graph for this function:

nsresult nsIInterfaceInfo::getIIDForParamNoAlloc ( in PRUint16  methodIndex,
[const ] in nsXPTParamInfoPtr  param,
out nsIID  iid 
) [inherited]
NS_IMETHOD xptiInterfaceInfo::GetIIDForParamNoAlloc ( PRUint16  methodIndex,
const nsXPTParamInfo param,
nsIID iid 
) [inline]

Definition at line 719 of file xptiprivate.h.

Here is the call graph for this function:

void nsIInterfaceInfo::getIIDShared ( [shared, retval] out nsIIDPtrShared  iid) [inherited]

Definition at line 716 of file xptiprivate.h.

Here is the call graph for this function:

nsIInterfaceInfo nsIInterfaceInfo::getInfoForParam ( in PRUint16  methodIndex,
[const ] in nsXPTParamInfoPtr  param 
) [inherited]

Get the interface information or iid associated with a param of some method in this interface.

NS_IMETHOD xptiInterfaceInfo::GetInfoForParam ( PRUint16  methodIndex,
const nsXPTParamInfo param,
nsIInterfaceInfo **  _retval 
) [inline]

Definition at line 708 of file xptiprivate.h.

{ return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->GetInfoForParam(methodIndex, param, _retval); }

Here is the call graph for this function:

Definition at line 693 of file xptiprivate.h.

{ return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->GetIID(aIID); }

Here is the call graph for this function:

PRUint8 nsIInterfaceInfo::getInterfaceIsArgNumberForParam ( in PRUint16  methodIndex,
[const ] in nsXPTParamInfoPtr  param 
) [inherited]

Definition at line 713 of file xptiprivate.h.

Here is the call graph for this function:

PRUint8 nsIInterfaceInfo::getLengthIsArgNumberForParam ( in PRUint16  methodIndex,
[const ] in nsXPTParamInfoPtr  param,
in PRUint16  dimension 
) [inherited]
NS_IMETHOD xptiInterfaceInfo::GetLengthIsArgNumberForParam ( PRUint16  methodIndex,
const nsXPTParamInfo param,
PRUint16  dimension,
PRUint8 _retval 
) [inline]

Definition at line 712 of file xptiprivate.h.

{ return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->GetLengthIsArgNumberForParam(methodIndex, param, dimension, _retval); }

Here is the call graph for this function:

Definition at line 703 of file xptiprivate.h.

{ return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->GetMethodCount(aMethodCount); }

Here is the call graph for this function:

void nsIInterfaceInfo::getMethodInfo ( in PRUint16  index,
[shared, retval] out nsXPTMethodInfoPtr  info 
) [inherited]

These include methods and constants for parent (and all ancestors).

These do not make copies ***explicit bending of XPCOM rules***.

Definition at line 705 of file xptiprivate.h.

Here is the call graph for this function:

void nsIInterfaceInfo::getMethodInfoForName ( in string  methodName,
out PRUint16  index,
[shared, retval] out nsXPTMethodInfoPtr  info 
) [inherited]
NS_IMETHOD xptiInterfaceInfo::GetMethodInfoForName ( const char *  methodName,
PRUint16 index,
const nsXPTMethodInfo **  info 
) [inline]

Definition at line 706 of file xptiprivate.h.

{ return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->GetMethodInfoForName(methodName, index, info); }

Here is the call graph for this function:

Definition at line 692 of file xptiprivate.h.

Here is the call graph for this function:

Here is the caller graph for this function:

void nsIInterfaceInfo::getNameShared ( [shared, retval] out string  name) [inherited]

Definition at line 715 of file xptiprivate.h.

Here is the call graph for this function:

Definition at line 696 of file xptiprivate.h.

    {
        if(!EnsureResolved() || !EnsureParent())
            return NS_ERROR_UNEXPECTED;
        NS_IF_ADDREF(*aParent = mParent);
        return NS_OK;
    }

Here is the call graph for this function:

PRUint8 nsIInterfaceInfo::getSizeIsArgNumberForParam ( in PRUint16  methodIndex,
[const ] in nsXPTParamInfoPtr  param,
in PRUint16  dimension 
) [inherited]
NS_IMETHOD xptiInterfaceInfo::GetSizeIsArgNumberForParam ( PRUint16  methodIndex,
const nsXPTParamInfo param,
PRUint16  dimension,
PRUint8 _retval 
) [inline]

Definition at line 711 of file xptiprivate.h.

{ return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->GetSizeIsArgNumberForParam(methodIndex, param, dimension, _retval); }

Here is the call graph for this function:

nsXPTType nsIInterfaceInfo::getTypeForParam ( in PRUint16  methodIndex,
[const ] in nsXPTParamInfoPtr  param,
in PRUint16  dimension 
) [inherited]

These do not make copies ***explicit bending of XPCOM rules***.

NS_IMETHOD xptiInterfaceInfo::GetTypeForParam ( PRUint16  methodIndex,
const nsXPTParamInfo param,
PRUint16  dimension,
nsXPTType _retval 
) [inline]

Definition at line 710 of file xptiprivate.h.

{ return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->GetTypeForParam(methodIndex, param, dimension, _retval); }

Here is the call graph for this function:

PRBool nsIInterfaceInfo::hasAncestor ( in nsIIDPtr  iid) [inherited]
NS_IMETHOD xptiInterfaceInfo::HasAncestor ( const nsIID iid,
PRBool _retval 
) [inline]

Definition at line 718 of file xptiprivate.h.

{ return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->HasAncestor(iid, _retval); }

Here is the call graph for this function:

Definition at line 724 of file xptiprivate.h.

Here is the caller graph for this function:

Definition at line 717 of file xptiprivate.h.

{ return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->IsFunction(_retval); }

Here is the call graph for this function:

PRBool nsIInterfaceInfo::isIID ( in nsIIDPtr  IID) [inherited]
NS_IMETHOD xptiInterfaceInfo::IsIID ( const nsIID IID,
PRBool _retval 
) [inline]

Definition at line 714 of file xptiprivate.h.

{ return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->IsIID(IID, _retval); }

Here is the call graph for this function:

Definition at line 694 of file xptiprivate.h.

{ return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->IsScriptable(_retval); }

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 75 of file nsIInterfaceInfo.idl.

readonly attribute nsIIDPtr nsIInterfaceInfo::InterfaceIID [inherited]

Definition at line 65 of file nsIInterfaceInfo.idl.

Definition at line 761 of file xptiprivate.h.

These include counts for parent (and all ancestors).

Definition at line 74 of file nsIInterfaceInfo.idl.

Definition at line 762 of file xptiprivate.h.

readonly attribute string nsIInterfaceInfo::name [inherited]

Definition at line 64 of file nsIInterfaceInfo.idl.

Definition at line 69 of file nsIInterfaceInfo.idl.


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