#include "tclxpcom.h"
#include "xptcall.h"
#include "nsISupports.h"
#include "nsISupportsUtils.h"
#include "nsIClassInfo.h"
#include "nsIInterfaceInfo.h"
#include "nsIServiceManager.h"
#include "nsIInterfaceInfoManager.h"
#include "nsIComponentRegistrar.h"
#include "nsIMemory.h"
#include "nsWeakReference.h"
Go to the source code of this file.
Compounds | |
struct | MethodInfo |
struct | IdentifierInfo_ |
struct | InterfaceInfo |
struct | ClassInfoSignature |
struct | ClassIdentifierInfo |
struct | ClassInfo_ |
struct | InterfaceRef |
class | TclXPCOMStub |
struct | TclXPCOMComponent |
Defines | |
#define | USE_NON_CONST |
#define | PARAM_IS_SKIPPED 0x0100 |
#define | PARAM_IS_RETVAL 0x0200 |
#define | PARAM_IS_SKIPPED_IN 0x0400 |
#define | PARAM_IS_SKIPPED_OUT 0x0800 |
#define | PARAM_IS_SHARED_IN 0x1000 |
#define | PARAM_IS_SHARED_OUT 0x2000 |
#define | PARAM_INDEX_MASK 0x00ff |
Typedefs | |
typedef PRInt64 | TclXPCOM_WideInt |
typedef MethodInfo | MethodInfo |
typedef IdentifierInfo_ | IdentifierInfo |
typedef InterfaceInfo | InterfaceInfo |
typedef ClassInfoSignature | ClassInfoSignature |
typedef ClassIdentifierInfo | ClassIdentifierInfo |
typedef ClassInfo_ | ClassInfo |
typedef InterfaceRef | InterfaceRef |
typedef TclXPCOMComponent | TclXPCOMComponent |
Functions | |
Tcl_Obj * | TclXPCOM_NewWideIntObj (TclXPCOM_WideInt wideint) |
int | TclXPCOM_GetWideIntFromObj (Tcl_Interp *interp, Tcl_Obj *objPtr, TclXPCOM_WideInt *wideint) |
void | TclXPCOM_InitInterfaceRef (void) |
void | TclXPCOM_InitClassInfo (void) |
void | TclXPCOM_InitInterfaceInfo (void) |
void | TclXPCOM_RegisterObjTypes (void) |
int | AddRefInterface (nsISupports *isupports, nsIInterfaceInfo *interfaceinfo, Tcl_HashEntry **entry) |
int | ReleaseInterface (nsISupports *isupports) |
int | QueryInterfaceIRef (Tcl_Interp *interp, InterfaceRef *iref, nsIInterfaceInfo *queryinfo, nsISupports **result) |
int | GetMethodFromIRef (Tcl_Interp *interp, nsISupports *isupports, nsIInterfaceInfo *info, Tcl_Obj *identifier, int type, nsIInterfaceInfo **interfaceinfo, PRUint16 *methodindex) |
InterfaceRef * | GetInterfaceRef (nsISupports *isupports) |
TclXPCOMComponent * | NewTclXPCOMComponent (Tcl_Interp *interp, Tcl_ThreadId thread, ClassInfo *cinfo) |
void | FreeTclXPCOMComponent (TclXPCOMComponent *component) |
int | BindScript (Tcl_Interp *interp, TclXPCOMComponent *component, Tcl_Obj *identifier, Tcl_Obj *script, int flags) |
InterfaceInfo * | GetInterfaceInfo (nsIInterfaceInfo *interfaceinfo) |
MethodInfo * | GetMethodInfo (nsIInterfaceInfo *interfaceinfo, PRUint16 methodindex) |
int | IsInInterface (nsIInterfaceInfo *infoa, nsIInterfaceInfo *infob) |
int | isInInterface (nsIInterfaceInfo *interfaceinfo, nsIID *iid) |
int | Tcl2Native (Tcl_Interp *interp, Tcl_Obj *value, void **params, void *param, nsXPTType *type, int shared, nsIInterfaceInfo *interfaceinfo, PRUint16 methodindex, nsXPTParamInfo *paraminfo) |
nsresult | Native2Tcl (void **params, void *param, nsXPTType *type, nsIInterfaceInfo *interfaceinfo, PRUint16 methodindex, nsXPTParamInfo *paraminfo, Tcl_Obj **result) |
void | CleanupParam (void **params, void *param, nsXPTType *type, nsIInterfaceInfo *interfaceinfo, PRUint16 methodindex, nsXPTParamInfo *paraminfo) |
nsresult | TclXPCOM_CallMethod (Tcl_Interp *interp, nsXPTCMiniVariant *variants, nsISupports *isupports, nsIInterfaceInfo *interfaceinfo, PRUint16 methodindex, Tcl_Obj *script) |
void * | CloneMemory (void *ptr, size_t size) |
Variables | |
Tcl_Encoding | ascii_enc |
nsIServiceManager * | servmanager |
global reference to the XPCOM Service Manager. More... | |
nsIInterfaceInfoManager * | manager |
global reference to the XPCOM Interface Info Manager. More... | |
nsIComponentRegistrar * | registrar |
global reference to the XPCOM Component Manager. More... | |
nsIMemory * | memmgr |
global reference to the XPCOM Memory Allocator. More... | |
nsIID | nsisupports_iid |
nsIID | nsiclassinfo_iid |
nsIID | nsiservicemanager_iid |
nsIInterfaceInfo * | nsisupports_info |
nsIInterfaceInfo * | nsiservicemanager_info |
nsIInterfaceInfo * | nsiclassinfo_info |
Tcl_ObjType | ISupportsType |
|
Definition at line 43 of file TclXPCOMPrivate.h. |
|
Flags for tclparams Definition at line 98 of file TclXPCOMPrivate.h. Referenced by CleanupTclOutVariables, PrepareParamInfo, TclXPCOM_CallMethod, TclXPCOM_Invoke, and TclXPCOM_ListMethodArguments. |
|
Definition at line 99 of file TclXPCOMPrivate.h. Referenced by PrepareParamInfo, TclXPCOM_CallMethod, TclXPCOM_GetReturnValueType, and TclXPCOM_ListMethodArguments. |
|
Definition at line 100 of file TclXPCOMPrivate.h. Referenced by CalculateSharedParams, and PrepareParamInfo. |
|
Definition at line 101 of file TclXPCOMPrivate.h. Referenced by CalculateSharedParams, and PrepareParamInfo. |
|
Definition at line 102 of file TclXPCOMPrivate.h. Referenced by CalculateSharedParams, and TclXPCOM_Invoke. |
|
Definition at line 103 of file TclXPCOMPrivate.h. Referenced by CalculateSharedParams, and TclXPCOM_CallMethod. |
|
Definition at line 104 of file TclXPCOMPrivate.h. Referenced by PrepareParamInfo, TclXPCOM_CallMethod, and TclXPCOM_Invoke. |
|
Definition at line 73 of file TclXPCOMPrivate.h. Referenced by Native2Tcl, and Tcl2Native. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Referenced by Native2Tcl. |
|
Referenced by Tcl2Native. |
|
Initializes the InterfaceRef subsystem. Definition at line 547 of file TclXPCOMInterfaceRef.cpp. |
|
Put some docs here. Definition at line 73 of file TclXPCOMClassInfo.cpp. |
|
Put some docs here. Definition at line 850 of file TclXPCOMInterfaceInfo.cpp. |
|
Registers the custom TclXPCOM Object types with Tcl. Definition at line 1237 of file TclXPCOMObjType.cpp. |
|
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. Referenced by DuplicateISupportsObj, SetISupportsFromAny, and TclXPCOM_NewISupportsObj. |
|
Releases an owning pointer of the given XPCOM component from the InterfaceRef subsystem.
Definition at line 277 of file TclXPCOMInterfaceRef.cpp. Referenced by FreeISupportsObj. |
|
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. Referenced by GetClassInfoFromIRef, SetISupportsFromAny, TclXPCOM_InvokeObjCmd, and TclXPCOM_QueryISupportsObj. |
|
Retrieves the interface method that corresponds with the given identifier and type.
Definition at line 477 of file TclXPCOMInterfaceRef.cpp. Referenced by TclXPCOM_InvokeObjCmd. |
|
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. Referenced by AddRefInterface, GetMethodFromIRef, QueryInterfaceIRef, ReleaseInterface, SetISupportsFromAny, TclXPCOM_InvokeObjCmd, and TclXPCOM_QueryISupportsObj. |
|
Creates a new Tcl component.
Definition at line 71 of file TclXPCOMComponent.cpp. Referenced by TclXPCOM_WrapObjCmd. |
|
Frees a Tcl component. Definition at line 156 of file TclXPCOMComponent.cpp. References InterfaceInfo::baseconstantindex. Referenced by TclXPCOM_WrapObjCmd. |
|
Binds a Tcl script to an attribute or method for a Tcl component. If a non-reflectable interface or method is attempted to be bound, an error will be generated. 'flags' can be used to force the binding of a non-reflectable interface or method.
Definition at line 190 of file TclXPCOMComponent.cpp. Referenced by TclXPCOM_WrapObjCmd. |
|
Put some docs here.
Definition at line 583 of file TclXPCOMInterfaceInfo.cpp. Referenced by GetInterfaceConstantValue, GetMethodInfo, IsInInterface, NewInterfaceInfoList, TclXPCOM_GetConstant, TclXPCOM_GetIdentifierInfoFromInterface, TclXPCOM_ListInterfaceAttributes, TclXPCOM_ListInterfaceConstants, and TclXPCOM_ListInterfaceMethods. |
|
Put some docs here.
Definition at line 608 of file TclXPCOMInterfaceInfo.cpp. Referenced by TclXPCOM_CallMethod, TclXPCOM_GetAttributeType, TclXPCOM_GetReturnValueType, TclXPCOM_Invoke, TclXPCOM_InvokeObjCmd, and TclXPCOM_ListMethodArguments. |
|
Put some docs here.
Definition at line 820 of file TclXPCOMInterfaceInfo.cpp. Referenced by BindScript. |
|
Determines whether an interface specified by 'iid' is an ancestor of the interface specified by 'interfaceinfo', or if 'iid' and 'interfaceinfo' refer to the same interface.
Definition at line 160 of file TclXPCOMInterfaceUtils.cpp. References InterfaceInfo::attributes. Referenced by NewClassInfoSignature, and TclXPCOMStub::QueryInterface. |
|
Converts a Tcl Object to a native value. If an error occurs, an error message will be stored in the interpreter's result and the 'errorCode' variable will be set to the corresponding XPCOM return code.
Definition at line 502 of file TclXPCOMMarshall.cpp. Referenced by Tcl2Native, TclXPCOM_CallMethod, and TclXPCOM_Invoke. |
|
Converts a native value to a new Tcl object whose refcount is 0.
Definition at line 204 of file TclXPCOMMarshall.cpp. Referenced by Native2Tcl, PrepareInterfaceConstantValue, TclXPCOM_CallMethod, and TclXPCOM_Invoke. |
|
Frees a parameter, if appropriate for the given type.
Definition at line 128 of file TclXPCOMMarshall.cpp. References IdentifierInfo_::methodindex. Referenced by CleanupOutParameters, CleanupParam, and TclXPCOM_Invoke. |
|
Evaluates a Tcl Component binding for a given method.
Definition at line 260 of file TclXPCOMStubs.cpp. |
|
Duplicates a chunk of memory using the XPCOM memory manager.
Definition at line 50 of file TclXPCOMInterfaceUtils.cpp. Referenced by DuplicateIdentifierObj, DuplicateNsIDObj, QualifyDuplicateIdentifiers, SetIdentifierFromAny, SetNsIDFromAny, Tcl2Native, TclXPCOM_GetClassInfo, TclXPCOM_NewIdentifierObj, and TclXPCOM_NewNsIDObj. |
|
Definition at line 57 of file TclXPCOMPrivate.h. |
|
global reference to the XPCOM Service Manager.
Definition at line 80 of file TclXPCOMPrivate.h. |
|
global reference to the XPCOM Interface Info Manager.
Definition at line 81 of file TclXPCOMPrivate.h. |
|
global reference to the XPCOM Component Manager.
Definition at line 82 of file TclXPCOMPrivate.h. |
|
global reference to the XPCOM Memory Allocator.
Definition at line 83 of file TclXPCOMPrivate.h. |
|
Definition at line 85 of file TclXPCOMPrivate.h. |
|
Definition at line 86 of file TclXPCOMPrivate.h. |
|
Definition at line 87 of file TclXPCOMPrivate.h. |
|
Definition at line 89 of file TclXPCOMPrivate.h. |
|
Definition at line 90 of file TclXPCOMPrivate.h. |
|
Definition at line 91 of file TclXPCOMPrivate.h. |
|
Definition at line 93 of file TclXPCOMPrivate.h. |