/* * This file is (mostly) automatically generated from tclOO.decls. */ #ifndef _TCLOODECLS #define _TCLOODECLS #ifndef TCLOOAPI # ifdef BUILD_tcl # define TCLOOAPI MODULE_SCOPE # else # define TCLOOAPI extern # undef USE_TCLOO_STUBS # define USE_TCLOO_STUBS 1 # endif #endif /* * WARNING: This file is automatically generated by the tools/genStubs.tcl * script. Any modifications to the function declarations below should be made * in the generic/tclOO.decls script. */ #if defined(USE_TCL_STUBS) extern const char *TclOOInitializeStubs(Tcl_Interp *, const char *version); #define Tcl_OOInitStubs(interp) TclOOInitializeStubs((interp),TCLOO_VERSION) #else #define Tcl_OOInitStubs(interp) \ Tcl_PkgRequire((interp),"TclOO",TCLOO_VERSION,0) #endif /* !BEGIN!: Do not edit below this line. */ /* * Exported function declarations: */ /* 0 */ TCLOOAPI Tcl_Object Tcl_CopyObjectInstance(Tcl_Interp *interp, Tcl_Object sourceObject, const char *targetName, const char *targetNamespaceName); /* 1 */ TCLOOAPI Tcl_Object Tcl_GetClassAsObject(Tcl_Class clazz); /* 2 */ TCLOOAPI Tcl_Class Tcl_GetObjectAsClass(Tcl_Object object); /* 3 */ TCLOOAPI Tcl_Command Tcl_GetObjectCommand(Tcl_Object object); /* 4 */ TCLOOAPI Tcl_Object Tcl_GetObjectFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr); /* 5 */ TCLOOAPI Tcl_Namespace * Tcl_GetObjectNamespace(Tcl_Object object); /* 6 */ TCLOOAPI Tcl_Class Tcl_MethodDeclarerClass(Tcl_Method method); /* 7 */ TCLOOAPI Tcl_Object Tcl_MethodDeclarerObject(Tcl_Method method); /* 8 */ TCLOOAPI int Tcl_MethodIsPublic(Tcl_Method method); /* 9 */ TCLOOAPI int Tcl_MethodIsType(Tcl_Method method, const Tcl_MethodType *typePtr, ClientData *clientDataPtr); /* 10 */ TCLOOAPI Tcl_Obj * Tcl_MethodName(Tcl_Method method); /* 11 */ TCLOOAPI Tcl_Method Tcl_NewInstanceMethod(Tcl_Interp *interp, Tcl_Object object, Tcl_Obj *nameObj, int isPublic, const Tcl_MethodType *typePtr, ClientData clientData); /* 12 */ TCLOOAPI Tcl_Method Tcl_NewMethod(Tcl_Interp *interp, Tcl_Class cls, Tcl_Obj *nameObj, int isPublic, const Tcl_MethodType *typePtr, ClientData clientData); /* 13 */ TCLOOAPI Tcl_Object Tcl_NewObjectInstance(Tcl_Interp *interp, Tcl_Class cls, const char *nameStr, const char *nsNameStr, int objc, Tcl_Obj *const *objv, int skip); /* 14 */ TCLOOAPI int Tcl_ObjectDeleted(Tcl_Object object); /* 15 */ TCLOOAPI int Tcl_ObjectContextIsFiltering( Tcl_ObjectContext context); /* 16 */ TCLOOAPI Tcl_Method Tcl_ObjectContextMethod(Tcl_ObjectContext context); /* 17 */ TCLOOAPI Tcl_Object Tcl_ObjectContextObject(Tcl_ObjectContext context); /* 18 */ TCLOOAPI int Tcl_ObjectContextSkippedArgs( Tcl_ObjectContext context); /* 19 */ TCLOOAPI ClientData Tcl_ClassGetMetadata(Tcl_Class clazz, const Tcl_ObjectMetadataType *typePtr); /* 20 */ TCLOOAPI void Tcl_ClassSetMetadata(Tcl_Class clazz, const Tcl_ObjectMetadataType *typePtr, ClientData metadata); /* 21 */ TCLOOAPI ClientData Tcl_ObjectGetMetadata(Tcl_Object object, const Tcl_ObjectMetadataType *typePtr); /* 22 */ TCLOOAPI void Tcl_ObjectSetMetadata(Tcl_Object object, const Tcl_ObjectMetadataType *typePtr, ClientData metadata); /* 23 */ TCLOOAPI int Tcl_ObjectContextInvokeNext(Tcl_Interp *interp, Tcl_ObjectContext context, int objc, Tcl_Obj *const *objv, int skip); /* 24 */ TCLOOAPI Tcl_ObjectMapMethodNameProc * Tcl_ObjectGetMethodNameMapper( Tcl_Object object); /* 25 */ TCLOOAPI void Tcl_ObjectSetMethodNameMapper(Tcl_Object object, Tcl_ObjectMapMethodNameProc *mapMethodNameProc); /* 26 */ TCLOOAPI void Tcl_ClassSetConstructor(Tcl_Interp *interp, Tcl_Class clazz, Tcl_Method method); /* 27 */ TCLOOAPI void Tcl_ClassSetDestructor(Tcl_Interp *interp, Tcl_Class clazz, Tcl_Method method); /* 28 */ TCLOOAPI Tcl_Obj * Tcl_GetObjectName(Tcl_Interp *interp, Tcl_Object object); typedef struct TclOOStubHooks { const struct TclOOIntStubs *tclOOIntStubs; } TclOOStubHooks; typedef struct TclOOStubs { int magic; const struct TclOOStubHooks *hooks; Tcl_Object (*tcl_CopyObjectInstance) (Tcl_Interp *interp, Tcl_Object sourceObject, const char *targetName, const char *targetNamespaceName); /* 0 */ Tcl_Object (*tcl_GetClassAsObject) (Tcl_Class clazz); /* 1 */ Tcl_Class (*tcl_GetObjectAsClass) (Tcl_Object object); /* 2 */ Tcl_Command (*tcl_GetObjectCommand) (Tcl_Object object); /* 3 */ Tcl_Object (*tcl_GetObjectFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr); /* 4 */ Tcl_Namespace * (*tcl_GetObjectNamespace) (Tcl_Object object); /* 5 */ Tcl_Class (*tcl_MethodDeclarerClass) (Tcl_Method method); /* 6 */ Tcl_Object (*tcl_MethodDeclarerObject) (Tcl_Method method); /* 7 */ int (*tcl_MethodIsPublic) (Tcl_Method method); /* 8 */ int (*tcl_MethodIsType) (Tcl_Method method, const Tcl_MethodType *typePtr, ClientData *clientDataPtr); /* 9 */ Tcl_Obj * (*tcl_MethodName) (Tcl_Method method); /* 10 */ Tcl_Method (*tcl_NewInstanceMethod) (Tcl_Interp *interp, Tcl_Object object, Tcl_Obj *nameObj, int isPublic, const Tcl_MethodType *typePtr, ClientData clientData); /* 11 */ Tcl_Method (*tcl_NewMethod) (Tcl_Interp *interp, Tcl_Class cls, Tcl_Obj *nameObj, int isPublic, const Tcl_MethodType *typePtr, ClientData clientData); /* 12 */ Tcl_Object (*tcl_NewObjectInstance) (Tcl_Interp *interp, Tcl_Class cls, const char *nameStr, const char *nsNameStr, int objc, Tcl_Obj *const *objv, int skip); /* 13 */ int (*tcl_ObjectDeleted) (Tcl_Object object); /* 14 */ int (*tcl_ObjectContextIsFiltering) (Tcl_ObjectContext context); /* 15 */ Tcl_Method (*tcl_ObjectContextMethod) (Tcl_ObjectContext context); /* 16 */ Tcl_Object (*tcl_ObjectContextObject) (Tcl_ObjectContext context); /* 17 */ int (*tcl_ObjectContextSkippedArgs) (Tcl_ObjectContext context); /* 18 */ ClientData (*tcl_ClassGetMetadata) (Tcl_Class clazz, const Tcl_ObjectMetadataType *typePtr); /* 19 */ void (*tcl_ClassSetMetadata) (Tcl_Class clazz, const Tcl_ObjectMetadataType *typePtr, ClientData metadata); /* 20 */ ClientData (*tcl_ObjectGetMetadata) (Tcl_Object object, const Tcl_ObjectMetadataType *typePtr); /* 21 */ void (*tcl_ObjectSetMetadata) (Tcl_Object object, const Tcl_ObjectMetadataType *typePtr, ClientData metadata); /* 22 */ int (*tcl_ObjectContextInvokeNext) (Tcl_Interp *interp, Tcl_ObjectContext context, int objc, Tcl_Obj *const *objv, int skip); /* 23 */ Tcl_ObjectMapMethodNameProc * (*tcl_ObjectGetMethodNameMapper) (Tcl_Object object); /* 24 */ void (*tcl_ObjectSetMethodNameMapper) (Tcl_Object object, Tcl_ObjectMapMethodNameProc *mapMethodNameProc); /* 25 */ void (*tcl_ClassSetConstructor) (Tcl_Interp *interp, Tcl_Class clazz, Tcl_Method method); /* 26 */ void (*tcl_ClassSetDestructor) (Tcl_Interp *interp, Tcl_Class clazz, Tcl_Method method); /* 27 */ Tcl_Obj * (*tcl_GetObjectName) (Tcl_Interp *interp, Tcl_Object object); /* 28 */ } TclOOStubs; #ifdef __cplusplus extern "C" { #endif extern const TclOOStubs *tclOOStubsPtr; #ifdef __cplusplus } #endif #if defined(USE_TCLOO_STUBS) /* * Inline function declarations: */ #define Tcl_CopyObjectInstance \ (tclOOStubsPtr->tcl_CopyObjectInstance) /* 0 */ #define Tcl_GetClassAsObject \ (tclOOStubsPtr->tcl_GetClassAsObject) /* 1 */ #define Tcl_GetObjectAsClass \ (tclOOStubsPtr->tcl_GetObjectAsClass) /* 2 */ #define Tcl_GetObjectCommand \ (tclOOStubsPtr->tcl_GetObjectCommand) /* 3 */ #define Tcl_GetObjectFromObj \ (tclOOStubsPtr->tcl_GetObjectFromObj) /* 4 */ #define Tcl_GetObjectNamespace \ (tclOOStubsPtr->tcl_GetObjectNamespace) /* 5 */ #define Tcl_MethodDeclarerClass \ (tclOOStubsPtr->tcl_MethodDeclarerClass) /* 6 */ #define Tcl_MethodDeclarerObject \ (tclOOStubsPtr->tcl_MethodDeclarerObject) /* 7 */ #define Tcl_MethodIsPublic \ (tclOOStubsPtr->tcl_MethodIsPublic) /* 8 */ #define Tcl_MethodIsType \ (tclOOStubsPtr->tcl_MethodIsType) /* 9 */ #define Tcl_MethodName \ (tclOOStubsPtr->tcl_MethodName) /* 10 */ #define Tcl_NewInstanceMethod \ (tclOOStubsPtr->tcl_NewInstanceMethod) /* 11 */ #define Tcl_NewMethod \ (tclOOStubsPtr->tcl_NewMethod) /* 12 */ #define Tcl_NewObjectInstance \ (tclOOStubsPtr->tcl_NewObjectInstance) /* 13 */ #define Tcl_ObjectDeleted \ (tclOOStubsPtr->tcl_ObjectDeleted) /* 14 */ #define Tcl_ObjectContextIsFiltering \ (tclOOStubsPtr->tcl_ObjectContextIsFiltering) /* 15 */ #define Tcl_ObjectContextMethod \ (tclOOStubsPtr->tcl_ObjectContextMethod) /* 16 */ #define Tcl_ObjectContextObject \ (tclOOStubsPtr->tcl_ObjectContextObject) /* 17 */ #define Tcl_ObjectContextSkippedArgs \ (tclOOStubsPtr->tcl_ObjectContextSkippedArgs) /* 18 */ #define Tcl_ClassGetMetadata \ (tclOOStubsPtr->tcl_ClassGetMetadata) /* 19 */ #define Tcl_ClassSetMetadata \ (tclOOStubsPtr->tcl_ClassSetMetadata) /* 20 */ #define Tcl_ObjectGetMetadata \ (tclOOStubsPtr->tcl_ObjectGetMetadata) /* 21 */ #define Tcl_ObjectSetMetadata \ (tclOOStubsPtr->tcl_ObjectSetMetadata) /* 22 */ #define Tcl_ObjectContextInvokeNext \ (tclOOStubsPtr->tcl_ObjectContextInvokeNext) /* 23 */ #define Tcl_ObjectGetMethodNameMapper \ (tclOOStubsPtr->tcl_ObjectGetMethodNameMapper) /* 24 */ #define Tcl_ObjectSetMethodNameMapper \ (tclOOStubsPtr->tcl_ObjectSetMethodNameMapper) /* 25 */ #define Tcl_ClassSetConstructor \ (tclOOStubsPtr->tcl_ClassSetConstructor) /* 26 */ #define Tcl_ClassSetDestructor \ (tclOOStubsPtr->tcl_ClassSetDestructor) /* 27 */ #define Tcl_GetObjectName \ (tclOOStubsPtr->tcl_GetObjectName) /* 28 */ #endif /* defined(USE_TCLOO_STUBS) */ /* !END!: Do not edit above this line. */ #endif /* _TCLOODECLS */