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)
InterfaceInfoListNewInterfaceInfoList (nsIInterfaceInfo *info, InterfaceInfoList *next)
void FreeInterfaceInfoList (InterfaceInfoList *iilist)
InterfaceInfoListGetInterfaceInfoList (nsIInterfaceInfo *info, InterfaceInfoList *list)
ClassInfoSignature NewClassInfoSignature (int iidcount, nsIID **iids)
void FreeClassInfoSignature (ClassInfoSignature signature)
InterfaceInfoListExpandClassInfoSignature (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)
ClassIdentifierInfoAllocateClassIdentifierInfoArray (int idcount)
ClassInfoNewClassInfo (ClassInfoSignature signature)
void FreeClassInfo (ClassInfo *cinfo)
ClassInfoFindMatchingClassInfo (ClassInfoSignature signature)
int CompareNsIDs (const void *nsidPtra, const void *nsidPtrb, void *userdata)
ClassInfoLookupClassInfo (int iidcount, nsIID **iids)
ClassInfoTclXPCOM_GetClassInfo (int iidcount, nsIID **iids)
int TclXPCOM_GetIdentifierInfoFromClass (Tcl_Interp *interp, ClassInfo *cinfo, Tcl_Obj *identifier, int type, nsIInterfaceInfo **interfaceinfo, IdentifierInfo **idinfo)

Variables

ClassInfoListclassInfoList
ClassInfoLookupclassLookupTable


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