#include "tcl.h"
#include "nsISupports.h"
#include "nsIInterfaceInfo.h"
Go to the source code of this file.
Defines | |
#define | TCLXPCOM_MOZHOMEVARNAME "::xpcom::mozilla_home" |
#define | TCLXPCOM_LASTRESULTVARNAME "::xpcom::lastResult" |
#define | TCLXPCOM_ERRORMSGPROC "::xpcom::errormsg" |
#define | TCLXPCOM_BGERRORPROC "::xpcom::bgerror" |
#define | TCLXPCOM_ISUPPORTSTYPENAME "TclXPCOM_Interface_Reference" |
#define | TCLXPCOM_NSIDTYPENAME "TclXPCOM_Unique_ID" |
#define | TCLXPCOM_POINTERTYPENAME "TclXPCOM_Void_Pointer" |
#define | TCLXPCOM_IDENTIFIERTYPENAME "TclXPCOM_Identifier" |
#define | FORCE_HIDDEN 0x01 |
#define | FORCE_NOTXPCOM 0x02 |
#define | FORCE_NOTSCRIPTABLE 0x04 |
#define | INTERFACEINFO_METHOD 0x01 |
#define | INTERFACEINFO_GETTER 0x02 |
#define | INTERFACEINFO_SETTER 0x04 |
#define | TCL_STORAGE_CLASS DLLIMPORT |
Typedefs | |
typedef IdentifierInfo_ | IdentifierInfo |
typedef ClassInfo_ | ClassInfo |
Functions | |
EXTERN int Tclxpcom_Init | _ANSI_ARGS_ ((Tcl_Interp *interp)) |
EXTERN Tcl_Obj * | TclXPCOM_NewISupportsObj (nsISupports *isupports, nsIInterfaceInfo *interfaceinfo) |
EXTERN Tcl_Obj * | TclXPCOM_NewNsIDObj (nsID *id) |
EXTERN Tcl_Obj * | TclXPCOM_NewPointerObj (void *ptr) |
EXTERN Tcl_Obj * | TclXPCOM_NewIdentifierObj (nsIInterfaceInfo *interfaceinfo, char *identifier) |
EXTERN int | TclXPCOM_GetISupportsFromObj (Tcl_Interp *interp, Tcl_Obj *objPtr, nsISupports **ref, nsIInterfaceInfo **info) |
EXTERN int | TclXPCOM_QueryISupportsObj (Tcl_Interp *interp, Tcl_Obj *objPtr, nsIInterfaceInfo *info, nsISupports **ref) |
EXTERN int | TclXPCOM_GetNsIDFromObj (Tcl_Interp *interp, Tcl_Obj *objPtr, nsID **id) |
EXTERN int | TclXPCOM_GetPointerFromObj (Tcl_Interp *interp, Tcl_Obj *objPtr, void **ptr) |
EXTERN int | TclXPCOM_GetIdentifierFromObj (Tcl_Interp *interp, Tcl_Obj *objPtr, nsIInterfaceInfo **interfaceinfo, char **identifier) |
EXTERN int | TclXPCOM_IsNULL (Tcl_Obj *objPtr) |
EXTERN void | TclXPCOM_RegisterCommands (Tcl_Interp *interp) |
EXTERN int | TclXPCOM_Invoke (Tcl_Interp *interp, Tcl_Obj *CONST objv[], nsISupports *isupports, nsIInterfaceInfo *interfaceinfo, PRUint16 methodindex) |
EXTERN void | TclXPCOM_GetCurrentComponentContext (nsIInterfaceInfo **interfaceinfo, nsISupports **isupports) |
EXTERN int | TclXPCOM_SetReturnCode (nsresult res) |
EXTERN int | TclXPCOM_CheckInterfaceIsReflectable (Tcl_Interp *interp, nsIInterfaceInfo *interfaceinfo, int flags) |
EXTERN int | TclXPCOM_CheckMethodIsReflectable (Tcl_Interp *interp, nsIInterfaceInfo *interfaceinfo, PRUint16 methodindex, int flags) |
EXTERN int | TclXPCOM_GetIdentifierInfoFromInterface (Tcl_Interp *interp, nsIInterfaceInfo *info, Tcl_Obj *identifier, int type, IdentifierInfo **idinfo) |
EXTERN int | TclXPCOM_GetIdentifierInfoFromClass (Tcl_Interp *interp, ClassInfo *cinfo, Tcl_Obj *identifier, int type, nsIInterfaceInfo **info, IdentifierInfo **idinfo) |
EXTERN int | TclXPCOM_GetMethodIndex (Tcl_Interp *interp, IdentifierInfo *idinfo, int type, PRUint16 *methodindex) |
EXTERN int | TclXPCOM_GetConstant (Tcl_Interp *interp, nsIInterfaceInfo *interfaceinfo, Tcl_Obj *constantname, Tcl_Obj **result) |
EXTERN ClassInfo * | TclXPCOM_GetClassInfo (int iidcount, nsIID **iids) |
EXTERN void | TclXPCOM_SetErrorCode (Tcl_Interp *interp, nsresult res) |
EXTERN int | TclXPCOM_GetErrorCode (Tcl_Interp *interp, nsresult *res) |
EXTERN void | TclXPCOM_BackgroundError (Tcl_Interp *interp) |
EXTERN void | TclXPCOM_SetErrorMessage (Tcl_Interp *interp, nsresult res) |
EXTERN void | TclXPCOM_SetError (Tcl_Interp *interp, nsresult res) |
EXTERN Tcl_Obj * | TclXPCOM_ListInterfaceMethods (nsIInterfaceInfo *interfaceinfo) |
EXTERN Tcl_Obj * | TclXPCOM_ListInterfaceAttributes (nsIInterfaceInfo *interfaceinfo) |
EXTERN Tcl_Obj * | TclXPCOM_ListInterfaceConstants (nsIInterfaceInfo *interfaceinfo) |
EXTERN Tcl_Obj * | TclXPCOM_ListClassMethods (ClassInfo *cinfo) |
EXTERN Tcl_Obj * | TclXPCOM_ListClassAttributes (ClassInfo *cinfo) |
EXTERN Tcl_Obj * | TclXPCOM_ListMethodArguments (nsIInterfaceInfo *interfaceinfo, PRUint16 methodindex) |
EXTERN Tcl_Obj * | TclXPCOM_GetAttributeType (nsIInterfaceInfo *interfaceinfo, IdentifierInfo *idinfo) |
EXTERN Tcl_Obj * | TclXPCOM_GetReturnValueType (nsIInterfaceInfo *interfaceinfo, IdentifierInfo *idinfo) |
Variables | |
EXTERN Tcl_ObjCmdProc | TclXPCOM_InvokeObjCmd |
EXTERN Tcl_ObjCmdProc | TclXPCOM_WrapObjCmd |
EXTERN Tcl_ObjCmdProc | TclXPCOM_ThisObjCmd |
EXTERN Tcl_ObjCmdProc | TclXPCOM_ConstantObjCmd |
EXTERN Tcl_ObjCmdProc | TclXPCOM_InfoObjCmd |
EXTERN Tcl_ObjCmdProc | TclXPCOM_NullObjCmd |
EXTERN Tcl_ObjCmdProc | TclXPCOM_IsNullObjCmd |
EXTERN Tcl_ObjCmdProc | TclXPCOM_PointerObjCmd |
EXTERN Tcl_ObjCmdProc | TclXPCOM_AddressObjCmd |
EXTERN Tcl_ObjCmdProc | TclXPCOM_FromStringObjCmd |
EXTERN Tcl_ObjCmdProc | TclXPCOM_SetReturnCodeObjCmd |
EXTERN Tcl_ObjCmdProc | TclXPCOM_IdObjCmd |
|
Definition at line 55 of file tclxpcom.h. Referenced by Tclxpcom_Init. |
|
Definition at line 56 of file tclxpcom.h. Referenced by TclXPCOM_Invoke. |
|
Definition at line 57 of file tclxpcom.h. Referenced by TclXPCOM_SetErrorMessage. |
|
Definition at line 58 of file tclxpcom.h. Referenced by TclXPCOM_BackgroundError. |
|
Definition at line 65 of file tclxpcom.h. Referenced by GetModuleFromObj, and TclXPCOM_RegisterObjTypes. |
|
Definition at line 66 of file tclxpcom.h. Referenced by TclXPCOM_RegisterObjTypes. |
|
Definition at line 67 of file tclxpcom.h. Referenced by TclXPCOM_RegisterObjTypes. |
|
Definition at line 68 of file tclxpcom.h. Referenced by TclXPCOM_RegisterObjTypes. |
|
Definition at line 85 of file tclxpcom.h. Referenced by BindScript, GetClassInfoFromInterfaceList, GetOverrideSwitches, TclXPCOM_CheckInterfaceIsReflectable, TclXPCOM_CheckMethodIsReflectable, and VerifyNsIDObj. |
|
Definition at line 86 of file tclxpcom.h. Referenced by BindScript, GetClassInfoFromInterfaceList, GetOverrideSwitches, TclXPCOM_CheckInterfaceIsReflectable, TclXPCOM_CheckMethodIsReflectable, and VerifyNsIDObj. |
|
Definition at line 87 of file tclxpcom.h. Referenced by BindScript, GetClassInfoFromInterfaceList, GetOverrideSwitches, TclXPCOM_CheckInterfaceIsReflectable, TclXPCOM_CheckMethodIsReflectable, TclXPCOM_InfoObjCmd, and VerifyNsIDObj. |
|
Definition at line 121 of file tclxpcom.h. Referenced by BindScript, GetIdentifierInfo, GetMethodFromIRef, NewInterfaceInfo, TclXPCOM_GetIdentifierInfoFromClass, TclXPCOM_GetIdentifierInfoFromInterface, TclXPCOM_GetMethodIndex, TclXPCOM_InfoObjCmd, and TclXPCOM_InvokeObjCmd. |
|
Definition at line 122 of file tclxpcom.h. Referenced by BindScript, GetIdentifierInfo, GetMethodFromIRef, NewInterfaceInfo, TclXPCOM_GetAttributeType, TclXPCOM_GetIdentifierInfoFromClass, TclXPCOM_GetIdentifierInfoFromInterface, TclXPCOM_GetMethodIndex, TclXPCOM_InfoObjCmd, and TclXPCOM_InvokeObjCmd. |
|
Definition at line 123 of file tclxpcom.h. Referenced by BindScript, GetIdentifierInfo, GetMethodFromIRef, NewInterfaceInfo, TclXPCOM_GetIdentifierInfoFromClass, TclXPCOM_GetIdentifierInfoFromInterface, TclXPCOM_GetMethodIndex, and TclXPCOM_InvokeObjCmd. |
|
Definition at line 167 of file tclxpcom.h. |
|
Definition at line 117 of file tclxpcom.h. |
|
Definition at line 118 of file tclxpcom.h. |
|
|
|
Creates a new TclXPCOM interface reference object that holds a new Addrefed interface pointer.
Definition at line 919 of file TclXPCOMObjType.cpp. Referenced by AddObjErrorInfoForBinding, Native2Tcl, TclXPCOM_InfoObjCmd, TclXPCOM_ThisObjCmd, and TclXPCOM_WrapObjCmd. |
|
Creates a new TclXPCOM nsID object that holds a copy of the given nsID.
Definition at line 949 of file TclXPCOMObjType.cpp. Referenced by Native2Tcl. |
|
Creates a new TclXPCOM pointer object.
Definition at line 1002 of file TclXPCOMObjType.cpp. Referenced by Native2Tcl, TclXPCOM_NullObjCmd, and TclXPCOM_PointerObjCmd. |
|
Creates a new TclXPCOM identifier object that holds a copy of the given interface info and identifier.
Definition at line 974 of file TclXPCOMObjType.cpp. Referenced by QualifyDuplicateIdentifiers. |
|
Retrieves the TclXPCOM interface reference internal representation from a Tcl object. If an error occurs, a message will be left in 'interp's result unless 'interp' is NULL.
Definition at line 1090 of file TclXPCOMObjType.cpp. Referenced by Tcl2Native, TclXPCOM_InvokeObjCmd, and TclXPCOM_QueryISupportsObj. |
|
Attempts to retrieve an interface pointer from the given Tcl object that matches the given interface. 'result' will be set to an AddRefed interface pointer which must eventually be Released. If an error occurs, a message will be left in 'interp's result unless 'interp' is NULL.
Definition at line 1130 of file TclXPCOMObjType.cpp. Referenced by Tcl2Native. |
|
Retrieves the nsID internal representation from a Tcl object. If an error occurs, a message will be left in 'interp's result unless 'interp' is NULL.
Definition at line 1210 of file TclXPCOMObjType.cpp. Referenced by GetClassInfoFromInterfaceList, GetInterfaceInfoFromObj, Tcl2Native, and TclXPCOM_IdObjCmd. |
|
Retrieves the TclXPCOM pointer internal representation from a Tcl object. If an error occurs, a message will be left in 'interp's result unless 'interp' is NULL.
Definition at line 1029 of file TclXPCOMObjType.cpp. Referenced by Tcl2Native, and TclXPCOM_AddressObjCmd. |
|
Retrieves the TclXPCOM identifier internal representation from a Tcl object. If an error occurs, a message will be left in 'interp's result unless 'interp' is NULL.
Definition at line 1175 of file TclXPCOMObjType.cpp. Referenced by GetMethodFromIRef. |
|
Predicate that determines whether a Tcl object is 'NULL'
Definition at line 1059 of file TclXPCOMObjType.cpp. Referenced by SetPointerFromAny, Tcl2Native, and TclXPCOM_IsNullObjCmd. |
|
Registers the TclXPCOM 'C'-implemented commands in the given interpreter.
Definition at line 1010 of file TclXPCOMCmds.cpp. Referenced by Tclxpcom_Init. |
|
Invokes a method on a native XPCOM component.
Definition at line 101 of file TclXPCOMInvoke.cpp. References TclXPCOM_FromStringObjCmd. Referenced by TclXPCOM_InvokeObjCmd. |
|
Retrieves the Tcl Component stub that has a binding being evaluated in this thread. If no component binding is being evaluated, 'isupports' and 'interfaceinfo' will be set to NULL. Definition at line 70 of file TclXPCOMStubs.cpp. Referenced by TclXPCOM_ThisObjCmd. |
|
Sets the return code for the current stub invocation.
Definition at line 92 of file TclXPCOMStubs.cpp. References TclXPCOM_InvokeObjCmd. Referenced by TclXPCOM_SetReturnCodeObjCmd. |
|
Verifies that an interface is reflectable into TclXPCOM (is marked 'scriptable' in the IDL file). If it is not reflectable, an error message will be set in the given interpreter. If the 'FORCE_NOTSCRIPTABLE' bit is set in 'flags', then no error will be generated even if the interface is not reflectable.
Definition at line 75 of file TclXPCOMInterfaceUtils.cpp. Referenced by BindScript, TclXPCOM_InvokeObjCmd, and VerifyNsIDObj. |
|
Verifies that a method is reflectable into TclXPCOM (is not marked 'noscript' or 'notxpcom' in the IDL file). If it is not reflectable, an error message will be set in the given interpreter. The 'FORCE_HIDDEN' and 'FORCE_NOTXPCOM' bits in 'flags' will override any 'noscript' or 'notxpcom' marked methods, respectively, forcing a successful return.
Definition at line 115 of file TclXPCOMInterfaceUtils.cpp. Referenced by BindScript, and TclXPCOM_InvokeObjCmd. |
|
Put some docs here.
Definition at line 661 of file TclXPCOMInterfaceInfo.cpp. Referenced by GetMethodFromIRef. |
|
Put some docs here.
Definition at line 729 of file TclXPCOMClassInfo.cpp. Referenced by GetMethodFromIRef, and TclXPCOM_InfoObjCmd. |
|
Put some docs here.
Definition at line 726 of file TclXPCOMInterfaceInfo.cpp. Referenced by GetMethodFromIRef. |
|
Put some docs here.
Definition at line 776 of file TclXPCOMInterfaceInfo.cpp. Referenced by TclXPCOM_ConstantObjCmd. |
|
Put some docs here.
Definition at line 665 of file TclXPCOMClassInfo.cpp. Referenced by GetClassInfoFromInterfaceList, and GetClassInfoFromIRef. |
|
Sets an interpreter's 'errorCode' variable to contain an XPCOM result code. The format consists of a list whose first element is the string 'XPCOM' and whose second element is the result code. Definition at line 50 of file TclXPCOMError.cpp. Referenced by TclXPCOM_SetError. |
|
Attempts to retrieve an XPCOM result code from an interpreter's 'errorCode' variable.
Definition at line 74 of file TclXPCOMError.cpp. Referenced by TclXPCOM_CallMethod. |
|
Handles background errors caused by Tcl Component bindings. If the 'xpcom::bgerror' procedure is defined in the given interpreter, it will be called with the error message in the interpreter's result. If there is no 'xpcom::bgerror' procedure defined, or an error occurs while executing the procedure, normal background error processing will occur.
Definition at line 175 of file TclXPCOMError.cpp. Referenced by TclXPCOM_CallMethod. |
|
Sets an interpreter's result to an error message corresponding to the given XPCOM result code. Definition at line 111 of file TclXPCOMError.cpp. Referenced by TclXPCOM_SetError. |
|
Convenience function that sets an interpreter's 'errorCode' variable and result for a given XPCOM result code. Definition at line 151 of file TclXPCOMError.cpp. Referenced by QueryInterfaceIRef, Tcl2Native, and TclXPCOM_Invoke. |
|
Lists the methods of an interface and its ancestors.
Definition at line 245 of file TclXPCOMInterfaceUtils.cpp. |
|
Lists the attributes of an interface and its ancestors.
Definition at line 217 of file TclXPCOMInterfaceUtils.cpp. |
|
Lists the constants of an interface and its ancestors.
Definition at line 189 of file TclXPCOMInterfaceUtils.cpp. Referenced by TclXPCOM_InfoObjCmd. |
|
Lists the methods associated with a set of interfaces composing a class. Any ambiguous method names will be qualified with their corresponding interface name.
Definition at line 275 of file TclXPCOMInterfaceUtils.cpp. Referenced by TclXPCOM_InfoObjCmd. |
|
Lists the attributes associated with a set of interfaces composing a class. Any ambiguous attribute names will be qualified with their corresponding interface name.
Definition at line 302 of file TclXPCOMInterfaceUtils.cpp. Referenced by TclXPCOM_InfoObjCmd. |
|
Lists the types of a method's arguments.
Definition at line 506 of file TclXPCOMInterfaceUtils.cpp. Referenced by TclXPCOM_InfoObjCmd, and TclXPCOM_InvokeObjCmd. |
|
Determines the type of an attribute.
Definition at line 582 of file TclXPCOMInterfaceUtils.cpp. Referenced by TclXPCOM_InfoObjCmd. |
|
Determines the type of a method's return value.
Definition at line 545 of file TclXPCOMInterfaceUtils.cpp. Referenced by TclXPCOM_InfoObjCmd. |
|
Definition at line 92 of file tclxpcom.h. Referenced by TclXPCOM_SetReturnCode. |
|
Definition at line 93 of file tclxpcom.h. |
|
Definition at line 94 of file tclxpcom.h. |
|
Definition at line 95 of file tclxpcom.h. |
|
Definition at line 96 of file tclxpcom.h. |
|
Definition at line 97 of file tclxpcom.h. |
|
Definition at line 98 of file tclxpcom.h. |
|
Definition at line 99 of file tclxpcom.h. |
|
Definition at line 100 of file tclxpcom.h. |
|
Definition at line 101 of file tclxpcom.h. Referenced by TclXPCOM_Invoke. |
|
Definition at line 102 of file tclxpcom.h. |
|
Definition at line 103 of file tclxpcom.h. |