#include "TclXPCOMPrivate.h"
Go to the source code of this file.
Functions | |
InterfaceRef * | NewInterfaceRef (void) |
Tcl_HashEntry * | AddISupportsToInterfaceRef (InterfaceRef *iref, nsISupports *isupports, nsIInterfaceInfo *interfaceinfo) |
void | MergeInterfaceRefs (InterfaceRef *irefa, InterfaceRef *irefb) |
void | FreeInterfaceRef (InterfaceRef *iref) |
int | AddRefInterface (nsISupports *isupports, nsIInterfaceInfo *interfaceinfo, Tcl_HashEntry **entryout) |
int | ReleaseInterface (nsISupports *isupports) |
InterfaceRef * | GetInterfaceRef (nsISupports *isupports) |
int | QueryInterfaceIRef (Tcl_Interp *interp, InterfaceRef *iref, nsIInterfaceInfo *queryinfo, nsISupports **result) |
ClassInfo * | GetClassInfoFromIRef (InterfaceRef *iref) |
int | GetMethodFromIRef (Tcl_Interp *interp, nsISupports *isupports, nsIInterfaceInfo *interfaceinfo, Tcl_Obj *identifier, int type, nsIInterfaceInfo **infoout, PRUint16 *methodindex) |
void | TclXPCOM_InitInterfaceRef (void) |
Variables | |
Tcl_HashTable | irefhash |
Contains functions for handling InterfaceRef objects.
Definition in file TclXPCOMInterfaceRef.cpp.
|
Creates a new InterfaceRef object.
Definition at line 53 of file TclXPCOMInterfaceRef.cpp. References InterfaceRef::cinfo, InterfaceRef::cinforef, InterfaceRef::cisupported, InterfaceRef::refcount, and InterfaceRef::refhash. Referenced by AddRefInterface. |
|
Adds an interface pointer to an InterfaceRef object.
Definition at line 78 of file TclXPCOMInterfaceRef.cpp. References irefhash, and InterfaceRef::refhash. Referenced by AddRefInterface, and QueryInterfaceIRef. |
|
Merges two InterfaceRef objects that represent the same underlying XPCOM component. All interface pointers will be moved from 'irefb' to 'irefa', and 'irefb' will be freed.
Definition at line 125 of file TclXPCOMInterfaceRef.cpp. References InterfaceRef::cinfo, InterfaceRef::cinforef, InterfaceRef::cisupported, irefhash, InterfaceRef::refcount, and InterfaceRef::refhash. Referenced by QueryInterfaceIRef. |
|
Frees an InterfaceRef object.
Definition at line 182 of file TclXPCOMInterfaceRef.cpp. References InterfaceRef::cinforef, irefhash, and InterfaceRef::refhash. Referenced by ReleaseInterface. |
|
Stores an owning pointer to the given XPCOM component in the InterfaceRef subsystem. 'entryout', if non-NULL, will be set to point to the hashentry that contains the interface reference as its value and interface info as its key.
Definition at line 238 of file TclXPCOMInterfaceRef.cpp. References AddISupportsToInterfaceRef, GetInterfaceRef, NewInterfaceRef, and InterfaceRef::refcount. |
|
Releases an owning pointer of the given XPCOM component from the InterfaceRef subsystem.
Definition at line 277 of file TclXPCOMInterfaceRef.cpp. References FreeInterfaceRef, GetInterfaceRef, and InterfaceRef::refcount. |
|
Retrieves the InterfaceRef object that owns the given interface pointer, or NULL if no InterfaceRef object currently owns the given pointer.
Definition at line 307 of file TclXPCOMInterfaceRef.cpp. References irefhash. |
|
Retrieves a non-owning interface pointer from the given InterfaceRef object that matches the given interface. If an error occurs and 'interp' is not NULL, then an error message will be left in it's result.
Definition at line 337 of file TclXPCOMInterfaceRef.cpp. References AddISupportsToInterfaceRef, InterfaceRef::cinforef, GetInterfaceRef, MergeInterfaceRefs, InterfaceRef::refhash, and TclXPCOM_SetError. |
|
Retrieves the ClassInfo object that corresponds with the given InterfaceRef object, if it's underlying component implements nsIClassInfo.
Definition at line 418 of file TclXPCOMInterfaceRef.cpp. References InterfaceRef::cinfo, InterfaceRef::cisupported, QueryInterfaceIRef, and TclXPCOM_GetClassInfo. Referenced by GetMethodFromIRef. |
|
Retrieves the interface method that corresponds with the given identifier and type.
Definition at line 477 of file TclXPCOMInterfaceRef.cpp. References GetClassInfoFromIRef, GetInterfaceRef, INTERFACEINFO_GETTER, INTERFACEINFO_METHOD, INTERFACEINFO_SETTER, TclXPCOM_GetIdentifierFromObj, TclXPCOM_GetIdentifierInfoFromClass, TclXPCOM_GetIdentifierInfoFromInterface, and TclXPCOM_GetMethodIndex. |
|
Initializes the InterfaceRef subsystem. Definition at line 547 of file TclXPCOMInterfaceRef.cpp. References irefhash. Referenced by Tclxpcom_Init. |
|
Definition at line 44 of file TclXPCOMInterfaceRef.cpp. Referenced by AddISupportsToInterfaceRef, FreeInterfaceRef, GetInterfaceRef, MergeInterfaceRefs, and TclXPCOM_InitInterfaceRef. |