Main Page   Compound List   File List   Compound Members   File Members  

TclXPCOMClassInfo.cpp File Reference

#include "TclXPCOMPrivate.h"
#include "nsQuickSort.h"

Go to the source code of this file.

Compounds

struct  ClassInfoList
struct  ClassInfoLookup
struct  InterfaceInfoList

Typedefs

typedef ClassInfoList ClassInfoList
typedef ClassInfoLookup ClassInfoLookup
typedef InterfaceInfoList InterfaceInfoList

Functions

void TclXPCOM_InitClassInfo (void)
InterfaceInfoList * NewInterfaceInfoList (nsIInterfaceInfo *info, InterfaceInfoList *next)
void FreeInterfaceInfoList (InterfaceInfoList *iilist)
InterfaceInfoList * GetInterfaceInfoList (nsIInterfaceInfo *info, InterfaceInfoList *list)
ClassInfoSignature NewClassInfoSignature (int iidcount, nsIID **iids)
void FreeClassInfoSignature (ClassInfoSignature signature)
InterfaceInfoList * ExpandClassInfoSignature (ClassInfoSignature signature)
int ClassInfoSignaturesEqual (ClassInfoSignature signaturea, ClassInfoSignature signatureb)
void MarkDuplicateIdentifiersInArray (int idcount, ClassIdentifierInfo *idlist)
void MarkDuplicateIdentifiersBetweenArrays (int idcounta, ClassIdentifierInfo *idlista, int idcountb, ClassIdentifierInfo *idlistb)
void QualifyDuplicateIdentifiers (int idcount, ClassIdentifierInfo *idlist)
ClassIdentifierInfo * AllocateClassIdentifierInfoArray (int idcount)
ClassInfo * NewClassInfo (ClassInfoSignature signature)
void FreeClassInfo (ClassInfo *cinfo)
ClassInfo * FindMatchingClassInfo (ClassInfoSignature signature)
int CompareNsIDs (const void *nsidPtra, const void *nsidPtrb, void *userdata)
ClassInfo * LookupClassInfo (int iidcount, nsIID **iids)
ClassInfo * TclXPCOM_GetClassInfo (int iidcount, nsIID **iids)
int TclXPCOM_GetIdentifierInfoFromClass (Tcl_Interp *interp, ClassInfo *cinfo, Tcl_Obj *identifier, int type, nsIInterfaceInfo **interfaceinfo, IdentifierInfo **idinfo)

Variables

ClassInfoList * classInfoList
ClassInfoLookup * classLookupTable


Detailed Description

Put some docs here.

Definition in file TclXPCOMClassInfo.cpp.


Typedef Documentation

typedef struct ClassInfoList ClassInfoList
 

typedef struct ClassInfoLookup ClassInfoLookup
 

typedef struct InterfaceInfoList InterfaceInfoList
 


Function Documentation

void TclXPCOM_InitClassInfo (  void    ) 
 

Put some docs here.

Definition at line 73 of file TclXPCOMClassInfo.cpp.

Referenced by Tclxpcom_Init.

InterfaceInfoList* NewInterfaceInfoList (  nsIInterfaceInfo *    info,
InterfaceInfoList *    next
) 
 

Put some docs here.

Returns:
Parameters:
info  (in) desc
next  (in) desc

Definition at line 86 of file TclXPCOMClassInfo.cpp.

References GetInterfaceInfo, InterfaceInfoList::iinfo, and InterfaceInfoList::next.

Referenced by GetInterfaceInfoList.

void FreeInterfaceInfoList (  InterfaceInfoList *    iilist ) 
 

Put some docs here.

Parameters:
iilist  (in) desc

Definition at line 105 of file TclXPCOMClassInfo.cpp.

References InterfaceInfoList::next.

Referenced by NewClassInfo.

InterfaceInfoList* GetInterfaceInfoList (  nsIInterfaceInfo *    info,
InterfaceInfoList *    list
) 
 

Put some docs here.

Returns:
Parameters:
info  (in) desc
list  (in) desc

Definition at line 128 of file TclXPCOMClassInfo.cpp.

References InterfaceInfoList::iinfo, InterfaceInfo::info, NewInterfaceInfoList, and InterfaceInfoList::next.

Referenced by ExpandClassInfoSignature.

ClassInfoSignature NewClassInfoSignature (  int    iidcount,
nsIID **    iids
) 
 

Put some docs here.

Returns:
Parameters:
iidcount  (in) desc
iids  (in) desc

Definition at line 167 of file TclXPCOMClassInfo.cpp.

References ClassInfoSignature::infocount, ClassInfoSignature::infolist, and isInInterface.

Referenced by TclXPCOM_GetClassInfo.

void FreeClassInfoSignature (  ClassInfoSignature    signature ) 
 

Put some docs here.

Parameters:
signature  (in) desc

Definition at line 234 of file TclXPCOMClassInfo.cpp.

References ClassInfoSignature::infocount, and ClassInfoSignature::infolist.

Referenced by FreeClassInfo, and TclXPCOM_GetClassInfo.

InterfaceInfoList* ExpandClassInfoSignature (  ClassInfoSignature    signature ) 
 

Put some docs here.

Returns:
Parameters:
signature  (in) desc

Definition at line 261 of file TclXPCOMClassInfo.cpp.

References GetInterfaceInfoList, ClassInfoSignature::infocount, ClassInfoSignature::infolist, and InterfaceInfoList::next.

Referenced by NewClassInfo.

int ClassInfoSignaturesEqual (  ClassInfoSignature    signaturea,
ClassInfoSignature    signatureb
) 
 

Put some docs here.

Returns:
Parameters:
signaturea  (in) desc
signatureb  (in) desc

Definition at line 296 of file TclXPCOMClassInfo.cpp.

References ClassInfoSignature::infocount, and ClassInfoSignature::infolist.

Referenced by FindMatchingClassInfo.

void MarkDuplicateIdentifiersInArray (  int    idcount,
ClassIdentifierInfo *    idlist
) 
 

Marks any duplicates in an array of identifiers.

Parameters:
idcount  (in) number of identifiers in the array
idlist  (inout) array of identifiers

Definition at line 323 of file TclXPCOMClassInfo.cpp.

References ClassIdentifierInfo::idinfo, ClassIdentifierInfo::info, IdentifierInfo_::name, and ClassIdentifierInfo::qualified.

Referenced by NewClassInfo.

void MarkDuplicateIdentifiersBetweenArrays (  int    idcounta,
ClassIdentifierInfo *    idlista,
int    idcountb,
ClassIdentifierInfo *    idlistb
) 
 

Marks any duplicates between two arrays of identifiers.

Parameters:
idcounta  (in) number of identifiers in the first array
idlista  (inout) the first array of identifiers
idcountb  (in) number of identifiers in the second array
idlistb  (inout) the second array of identifiers

Definition at line 361 of file TclXPCOMClassInfo.cpp.

References ClassIdentifierInfo::idinfo, ClassIdentifierInfo::info, IdentifierInfo_::name, and ClassIdentifierInfo::qualified.

Referenced by NewClassInfo.

void QualifyDuplicateIdentifiers (  int    idcount,
ClassIdentifierInfo *    idlist
) 
 

Qualifies all identifiers in an array that are marked as duplicates.

Parameters:
idcount  (in) number of identifiers in the array
idlist  (inout) array of identifiers

Definition at line 399 of file TclXPCOMClassInfo.cpp.

References CloneMemory, ClassIdentifierInfo::idinfo, IdentifierInfo_::name, ClassIdentifierInfo::qualified, and TclXPCOM_NewIdentifierObj.

Referenced by NewClassInfo.

ClassIdentifierInfo* AllocateClassIdentifierInfoArray (  int    idcount ) 
 

Returns an allocated array of ClassIndentifierInfos, or NULL if the given size is 0.

Parameters:
idcount  (in) number of identifiers in the array

Definition at line 429 of file TclXPCOMClassInfo.cpp.

Referenced by NewClassInfo.

ClassInfo* NewClassInfo (  ClassInfoSignature    signature ) 
 

Put some docs here.

Returns:
Parameters:
signature  (in) desc

Definition at line 456 of file TclXPCOMClassInfo.cpp.

References AllocateClassIdentifierInfoArray, ClassInfo_::attributecount, InterfaceInfo::attributecount, ClassInfo_::attributes, InterfaceInfo::attributes, InterfaceInfo::baseattributeindex, InterfaceInfo::basemethodindex, ExpandClassInfoSignature, FreeInterfaceInfoList, ClassIdentifierInfo::idinfo, InterfaceInfoList::iinfo, InterfaceInfo::info, ClassIdentifierInfo::info, ClassInfoSignature::infocount, ClassInfoSignature::infolist, MarkDuplicateIdentifiersBetweenArrays, MarkDuplicateIdentifiersInArray, ClassInfo_::methodcount, InterfaceInfo::methodcount, ClassInfo_::methods, InterfaceInfo::methods, InterfaceInfoList::next, QualifyDuplicateIdentifiers, and ClassInfo_::signature.

Referenced by TclXPCOM_GetClassInfo.

void FreeClassInfo (  ClassInfo *    cinfo ) 
 

Put some docs here.

Parameters:
cinfo  (in) desc

Definition at line 532 of file TclXPCOMClassInfo.cpp.

References ClassInfo_::attributecount, ClassInfo_::attributes, FreeClassInfoSignature, ClassIdentifierInfo::idinfo, ClassInfo_::methodcount, ClassInfo_::methods, IdentifierInfo_::name, ClassIdentifierInfo::qualified, and ClassInfo_::signature.

ClassInfo* FindMatchingClassInfo (  ClassInfoSignature    signature ) 
 

Put some docs here.

Returns:
Parameters:
signature  (in) desc

Definition at line 578 of file TclXPCOMClassInfo.cpp.

References ClassInfoList::cinfo, ClassInfoSignaturesEqual, ClassInfoSignature::infocount, ClassInfoSignature::infolist, ClassInfoList::next, and ClassInfo_::signature.

Referenced by TclXPCOM_GetClassInfo.

int CompareNsIDs (  const void *    nsidPtra,
const void *    nsidPtrb,
void *    userdata
) 
 

Put some docs here.

Returns:
Parameters:
nsidPtra  (in) desc
nsidPtrb  (in) desc
userdata  (in) desc

Definition at line 604 of file TclXPCOMClassInfo.cpp.

Referenced by TclXPCOM_GetClassInfo.

ClassInfo* LookupClassInfo (  int    iidcount,
nsIID **    iids
) 
 

Put some docs here.

Returns:
Parameters:
iidcount  (in) desc
iids  (in) desc

Definition at line 622 of file TclXPCOMClassInfo.cpp.

References ClassInfoLookup::cinfo, ClassInfoLookup::iidcount, ClassInfoLookup::iids, and ClassInfoLookup::next.

Referenced by TclXPCOM_GetClassInfo.

ClassInfo* TclXPCOM_GetClassInfo (  int    iidcount,
nsIID **    iids
) 
 

Put some docs here.

Returns:
Parameters:
iidcount  (in) desc
iids  (in) desc

Definition at line 665 of file TclXPCOMClassInfo.cpp.

References ClassInfoLookup::cinfo, ClassInfoList::cinfo, CloneMemory, CompareNsIDs, FindMatchingClassInfo, FreeClassInfoSignature, ClassInfoLookup::iidcount, ClassInfoLookup::iids, LookupClassInfo, NewClassInfo, NewClassInfoSignature, ClassInfoLookup::next, and ClassInfoList::next.

int TclXPCOM_GetIdentifierInfoFromClass (  Tcl_Interp *    interp,
ClassInfo *    cinfo,
Tcl_Obj *    identifier,
int    type,
nsIInterfaceInfo **    interfaceinfo,
IdentifierInfo **    idinfo
) 
 

Put some docs here.

Returns:
Parameters:
interp  (in) desc
cinfo  (in) desc
identifier  (in) desc
type  (in) desc
interfaceinfo  (out) desc
idinfo  (out) desc

Definition at line 729 of file TclXPCOMClassInfo.cpp.

References ClassInfo_::attributecount, ClassInfo_::attributes, ClassIdentifierInfo::idinfo, ClassIdentifierInfo::info, INTERFACEINFO_GETTER, INTERFACEINFO_METHOD, INTERFACEINFO_SETTER, ClassInfo_::methodcount, ClassInfo_::methods, and IdentifierInfo_::name.


Variable Documentation

ClassInfoList* classInfoList
 

Definition at line 65 of file TclXPCOMClassInfo.cpp.

ClassInfoLookup* classLookupTable
 

Definition at line 66 of file TclXPCOMClassInfo.cpp.


Generated on Fri Jun 14 23:25:51 2002 for TclXPCOM by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002