jpayne@69: /* jpayne@69: * This file is (mostly) automatically generated from tclOO.decls. jpayne@69: */ jpayne@69: jpayne@69: #ifndef _TCLOODECLS jpayne@69: #define _TCLOODECLS jpayne@69: jpayne@69: #ifndef TCLAPI jpayne@69: # ifdef BUILD_tcl jpayne@69: # define TCLAPI extern DLLEXPORT jpayne@69: # else jpayne@69: # define TCLAPI extern DLLIMPORT jpayne@69: # endif jpayne@69: #endif jpayne@69: jpayne@69: #ifdef USE_TCL_STUBS jpayne@69: # undef USE_TCLOO_STUBS jpayne@69: # define USE_TCLOO_STUBS jpayne@69: #endif jpayne@69: jpayne@69: /* !BEGIN!: Do not edit below this line. */ jpayne@69: jpayne@69: #ifdef __cplusplus jpayne@69: extern "C" { jpayne@69: #endif jpayne@69: jpayne@69: /* jpayne@69: * Exported function declarations: jpayne@69: */ jpayne@69: jpayne@69: /* 0 */ jpayne@69: TCLAPI Tcl_Object Tcl_CopyObjectInstance(Tcl_Interp *interp, jpayne@69: Tcl_Object sourceObject, jpayne@69: const char *targetName, jpayne@69: const char *targetNamespaceName); jpayne@69: /* 1 */ jpayne@69: TCLAPI Tcl_Object Tcl_GetClassAsObject(Tcl_Class clazz); jpayne@69: /* 2 */ jpayne@69: TCLAPI Tcl_Class Tcl_GetObjectAsClass(Tcl_Object object); jpayne@69: /* 3 */ jpayne@69: TCLAPI Tcl_Command Tcl_GetObjectCommand(Tcl_Object object); jpayne@69: /* 4 */ jpayne@69: TCLAPI Tcl_Object Tcl_GetObjectFromObj(Tcl_Interp *interp, jpayne@69: Tcl_Obj *objPtr); jpayne@69: /* 5 */ jpayne@69: TCLAPI Tcl_Namespace * Tcl_GetObjectNamespace(Tcl_Object object); jpayne@69: /* 6 */ jpayne@69: TCLAPI Tcl_Class Tcl_MethodDeclarerClass(Tcl_Method method); jpayne@69: /* 7 */ jpayne@69: TCLAPI Tcl_Object Tcl_MethodDeclarerObject(Tcl_Method method); jpayne@69: /* 8 */ jpayne@69: TCLAPI int Tcl_MethodIsPublic(Tcl_Method method); jpayne@69: /* 9 */ jpayne@69: TCLAPI int Tcl_MethodIsType(Tcl_Method method, jpayne@69: const Tcl_MethodType *typePtr, jpayne@69: void **clientDataPtr); jpayne@69: /* 10 */ jpayne@69: TCLAPI Tcl_Obj * Tcl_MethodName(Tcl_Method method); jpayne@69: /* 11 */ jpayne@69: TCLAPI Tcl_Method Tcl_NewInstanceMethod(Tcl_Interp *interp, jpayne@69: Tcl_Object object, Tcl_Obj *nameObj, jpayne@69: int isPublic, const Tcl_MethodType *typePtr, jpayne@69: void *clientData); jpayne@69: /* 12 */ jpayne@69: TCLAPI Tcl_Method Tcl_NewMethod(Tcl_Interp *interp, Tcl_Class cls, jpayne@69: Tcl_Obj *nameObj, int isPublic, jpayne@69: const Tcl_MethodType *typePtr, jpayne@69: void *clientData); jpayne@69: /* 13 */ jpayne@69: TCLAPI Tcl_Object Tcl_NewObjectInstance(Tcl_Interp *interp, jpayne@69: Tcl_Class cls, const char *nameStr, jpayne@69: const char *nsNameStr, int objc, jpayne@69: Tcl_Obj *const *objv, int skip); jpayne@69: /* 14 */ jpayne@69: TCLAPI int Tcl_ObjectDeleted(Tcl_Object object); jpayne@69: /* 15 */ jpayne@69: TCLAPI int Tcl_ObjectContextIsFiltering( jpayne@69: Tcl_ObjectContext context); jpayne@69: /* 16 */ jpayne@69: TCLAPI Tcl_Method Tcl_ObjectContextMethod(Tcl_ObjectContext context); jpayne@69: /* 17 */ jpayne@69: TCLAPI Tcl_Object Tcl_ObjectContextObject(Tcl_ObjectContext context); jpayne@69: /* 18 */ jpayne@69: TCLAPI int Tcl_ObjectContextSkippedArgs( jpayne@69: Tcl_ObjectContext context); jpayne@69: /* 19 */ jpayne@69: TCLAPI void * Tcl_ClassGetMetadata(Tcl_Class clazz, jpayne@69: const Tcl_ObjectMetadataType *typePtr); jpayne@69: /* 20 */ jpayne@69: TCLAPI void Tcl_ClassSetMetadata(Tcl_Class clazz, jpayne@69: const Tcl_ObjectMetadataType *typePtr, jpayne@69: void *metadata); jpayne@69: /* 21 */ jpayne@69: TCLAPI void * Tcl_ObjectGetMetadata(Tcl_Object object, jpayne@69: const Tcl_ObjectMetadataType *typePtr); jpayne@69: /* 22 */ jpayne@69: TCLAPI void Tcl_ObjectSetMetadata(Tcl_Object object, jpayne@69: const Tcl_ObjectMetadataType *typePtr, jpayne@69: void *metadata); jpayne@69: /* 23 */ jpayne@69: TCLAPI int Tcl_ObjectContextInvokeNext(Tcl_Interp *interp, jpayne@69: Tcl_ObjectContext context, int objc, jpayne@69: Tcl_Obj *const *objv, int skip); jpayne@69: /* 24 */ jpayne@69: TCLAPI Tcl_ObjectMapMethodNameProc * Tcl_ObjectGetMethodNameMapper( jpayne@69: Tcl_Object object); jpayne@69: /* 25 */ jpayne@69: TCLAPI void Tcl_ObjectSetMethodNameMapper(Tcl_Object object, jpayne@69: Tcl_ObjectMapMethodNameProc *mapMethodNameProc); jpayne@69: /* 26 */ jpayne@69: TCLAPI void Tcl_ClassSetConstructor(Tcl_Interp *interp, jpayne@69: Tcl_Class clazz, Tcl_Method method); jpayne@69: /* 27 */ jpayne@69: TCLAPI void Tcl_ClassSetDestructor(Tcl_Interp *interp, jpayne@69: Tcl_Class clazz, Tcl_Method method); jpayne@69: /* 28 */ jpayne@69: TCLAPI Tcl_Obj * Tcl_GetObjectName(Tcl_Interp *interp, jpayne@69: Tcl_Object object); jpayne@69: /* Slot 29 is reserved */ jpayne@69: /* Slot 30 is reserved */ jpayne@69: /* Slot 31 is reserved */ jpayne@69: /* Slot 32 is reserved */ jpayne@69: /* Slot 33 is reserved */ jpayne@69: /* 34 */ jpayne@69: TCLAPI void TclOOUnusedStubEntry(void); jpayne@69: jpayne@69: typedef struct { jpayne@69: const struct TclOOIntStubs *tclOOIntStubs; jpayne@69: } TclOOStubHooks; jpayne@69: jpayne@69: typedef struct TclOOStubs { jpayne@69: int magic; jpayne@69: const TclOOStubHooks *hooks; jpayne@69: jpayne@69: Tcl_Object (*tcl_CopyObjectInstance) (Tcl_Interp *interp, Tcl_Object sourceObject, const char *targetName, const char *targetNamespaceName); /* 0 */ jpayne@69: Tcl_Object (*tcl_GetClassAsObject) (Tcl_Class clazz); /* 1 */ jpayne@69: Tcl_Class (*tcl_GetObjectAsClass) (Tcl_Object object); /* 2 */ jpayne@69: Tcl_Command (*tcl_GetObjectCommand) (Tcl_Object object); /* 3 */ jpayne@69: Tcl_Object (*tcl_GetObjectFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr); /* 4 */ jpayne@69: Tcl_Namespace * (*tcl_GetObjectNamespace) (Tcl_Object object); /* 5 */ jpayne@69: Tcl_Class (*tcl_MethodDeclarerClass) (Tcl_Method method); /* 6 */ jpayne@69: Tcl_Object (*tcl_MethodDeclarerObject) (Tcl_Method method); /* 7 */ jpayne@69: int (*tcl_MethodIsPublic) (Tcl_Method method); /* 8 */ jpayne@69: int (*tcl_MethodIsType) (Tcl_Method method, const Tcl_MethodType *typePtr, void **clientDataPtr); /* 9 */ jpayne@69: Tcl_Obj * (*tcl_MethodName) (Tcl_Method method); /* 10 */ jpayne@69: Tcl_Method (*tcl_NewInstanceMethod) (Tcl_Interp *interp, Tcl_Object object, Tcl_Obj *nameObj, int isPublic, const Tcl_MethodType *typePtr, void *clientData); /* 11 */ jpayne@69: Tcl_Method (*tcl_NewMethod) (Tcl_Interp *interp, Tcl_Class cls, Tcl_Obj *nameObj, int isPublic, const Tcl_MethodType *typePtr, void *clientData); /* 12 */ jpayne@69: 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 */ jpayne@69: int (*tcl_ObjectDeleted) (Tcl_Object object); /* 14 */ jpayne@69: int (*tcl_ObjectContextIsFiltering) (Tcl_ObjectContext context); /* 15 */ jpayne@69: Tcl_Method (*tcl_ObjectContextMethod) (Tcl_ObjectContext context); /* 16 */ jpayne@69: Tcl_Object (*tcl_ObjectContextObject) (Tcl_ObjectContext context); /* 17 */ jpayne@69: int (*tcl_ObjectContextSkippedArgs) (Tcl_ObjectContext context); /* 18 */ jpayne@69: void * (*tcl_ClassGetMetadata) (Tcl_Class clazz, const Tcl_ObjectMetadataType *typePtr); /* 19 */ jpayne@69: void (*tcl_ClassSetMetadata) (Tcl_Class clazz, const Tcl_ObjectMetadataType *typePtr, void *metadata); /* 20 */ jpayne@69: void * (*tcl_ObjectGetMetadata) (Tcl_Object object, const Tcl_ObjectMetadataType *typePtr); /* 21 */ jpayne@69: void (*tcl_ObjectSetMetadata) (Tcl_Object object, const Tcl_ObjectMetadataType *typePtr, void *metadata); /* 22 */ jpayne@69: int (*tcl_ObjectContextInvokeNext) (Tcl_Interp *interp, Tcl_ObjectContext context, int objc, Tcl_Obj *const *objv, int skip); /* 23 */ jpayne@69: Tcl_ObjectMapMethodNameProc * (*tcl_ObjectGetMethodNameMapper) (Tcl_Object object); /* 24 */ jpayne@69: void (*tcl_ObjectSetMethodNameMapper) (Tcl_Object object, Tcl_ObjectMapMethodNameProc *mapMethodNameProc); /* 25 */ jpayne@69: void (*tcl_ClassSetConstructor) (Tcl_Interp *interp, Tcl_Class clazz, Tcl_Method method); /* 26 */ jpayne@69: void (*tcl_ClassSetDestructor) (Tcl_Interp *interp, Tcl_Class clazz, Tcl_Method method); /* 27 */ jpayne@69: Tcl_Obj * (*tcl_GetObjectName) (Tcl_Interp *interp, Tcl_Object object); /* 28 */ jpayne@69: void (*reserved29)(void); jpayne@69: void (*reserved30)(void); jpayne@69: void (*reserved31)(void); jpayne@69: void (*reserved32)(void); jpayne@69: void (*reserved33)(void); jpayne@69: void (*tclOOUnusedStubEntry) (void); /* 34 */ jpayne@69: } TclOOStubs; jpayne@69: jpayne@69: extern const TclOOStubs *tclOOStubsPtr; jpayne@69: jpayne@69: #ifdef __cplusplus jpayne@69: } jpayne@69: #endif jpayne@69: jpayne@69: #if defined(USE_TCLOO_STUBS) jpayne@69: jpayne@69: /* jpayne@69: * Inline function declarations: jpayne@69: */ jpayne@69: jpayne@69: #define Tcl_CopyObjectInstance \ jpayne@69: (tclOOStubsPtr->tcl_CopyObjectInstance) /* 0 */ jpayne@69: #define Tcl_GetClassAsObject \ jpayne@69: (tclOOStubsPtr->tcl_GetClassAsObject) /* 1 */ jpayne@69: #define Tcl_GetObjectAsClass \ jpayne@69: (tclOOStubsPtr->tcl_GetObjectAsClass) /* 2 */ jpayne@69: #define Tcl_GetObjectCommand \ jpayne@69: (tclOOStubsPtr->tcl_GetObjectCommand) /* 3 */ jpayne@69: #define Tcl_GetObjectFromObj \ jpayne@69: (tclOOStubsPtr->tcl_GetObjectFromObj) /* 4 */ jpayne@69: #define Tcl_GetObjectNamespace \ jpayne@69: (tclOOStubsPtr->tcl_GetObjectNamespace) /* 5 */ jpayne@69: #define Tcl_MethodDeclarerClass \ jpayne@69: (tclOOStubsPtr->tcl_MethodDeclarerClass) /* 6 */ jpayne@69: #define Tcl_MethodDeclarerObject \ jpayne@69: (tclOOStubsPtr->tcl_MethodDeclarerObject) /* 7 */ jpayne@69: #define Tcl_MethodIsPublic \ jpayne@69: (tclOOStubsPtr->tcl_MethodIsPublic) /* 8 */ jpayne@69: #define Tcl_MethodIsType \ jpayne@69: (tclOOStubsPtr->tcl_MethodIsType) /* 9 */ jpayne@69: #define Tcl_MethodName \ jpayne@69: (tclOOStubsPtr->tcl_MethodName) /* 10 */ jpayne@69: #define Tcl_NewInstanceMethod \ jpayne@69: (tclOOStubsPtr->tcl_NewInstanceMethod) /* 11 */ jpayne@69: #define Tcl_NewMethod \ jpayne@69: (tclOOStubsPtr->tcl_NewMethod) /* 12 */ jpayne@69: #define Tcl_NewObjectInstance \ jpayne@69: (tclOOStubsPtr->tcl_NewObjectInstance) /* 13 */ jpayne@69: #define Tcl_ObjectDeleted \ jpayne@69: (tclOOStubsPtr->tcl_ObjectDeleted) /* 14 */ jpayne@69: #define Tcl_ObjectContextIsFiltering \ jpayne@69: (tclOOStubsPtr->tcl_ObjectContextIsFiltering) /* 15 */ jpayne@69: #define Tcl_ObjectContextMethod \ jpayne@69: (tclOOStubsPtr->tcl_ObjectContextMethod) /* 16 */ jpayne@69: #define Tcl_ObjectContextObject \ jpayne@69: (tclOOStubsPtr->tcl_ObjectContextObject) /* 17 */ jpayne@69: #define Tcl_ObjectContextSkippedArgs \ jpayne@69: (tclOOStubsPtr->tcl_ObjectContextSkippedArgs) /* 18 */ jpayne@69: #define Tcl_ClassGetMetadata \ jpayne@69: (tclOOStubsPtr->tcl_ClassGetMetadata) /* 19 */ jpayne@69: #define Tcl_ClassSetMetadata \ jpayne@69: (tclOOStubsPtr->tcl_ClassSetMetadata) /* 20 */ jpayne@69: #define Tcl_ObjectGetMetadata \ jpayne@69: (tclOOStubsPtr->tcl_ObjectGetMetadata) /* 21 */ jpayne@69: #define Tcl_ObjectSetMetadata \ jpayne@69: (tclOOStubsPtr->tcl_ObjectSetMetadata) /* 22 */ jpayne@69: #define Tcl_ObjectContextInvokeNext \ jpayne@69: (tclOOStubsPtr->tcl_ObjectContextInvokeNext) /* 23 */ jpayne@69: #define Tcl_ObjectGetMethodNameMapper \ jpayne@69: (tclOOStubsPtr->tcl_ObjectGetMethodNameMapper) /* 24 */ jpayne@69: #define Tcl_ObjectSetMethodNameMapper \ jpayne@69: (tclOOStubsPtr->tcl_ObjectSetMethodNameMapper) /* 25 */ jpayne@69: #define Tcl_ClassSetConstructor \ jpayne@69: (tclOOStubsPtr->tcl_ClassSetConstructor) /* 26 */ jpayne@69: #define Tcl_ClassSetDestructor \ jpayne@69: (tclOOStubsPtr->tcl_ClassSetDestructor) /* 27 */ jpayne@69: #define Tcl_GetObjectName \ jpayne@69: (tclOOStubsPtr->tcl_GetObjectName) /* 28 */ jpayne@69: /* Slot 29 is reserved */ jpayne@69: /* Slot 30 is reserved */ jpayne@69: /* Slot 31 is reserved */ jpayne@69: /* Slot 32 is reserved */ jpayne@69: /* Slot 33 is reserved */ jpayne@69: #define TclOOUnusedStubEntry \ jpayne@69: (tclOOStubsPtr->tclOOUnusedStubEntry) /* 34 */ jpayne@69: jpayne@69: #endif /* defined(USE_TCLOO_STUBS) */ jpayne@69: jpayne@69: /* !END!: Do not edit above this line. */ jpayne@69: jpayne@69: #undef TclOOUnusedStubEntry jpayne@69: jpayne@69: #endif /* _TCLOODECLS */