tclOODecls.h 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. /*
  2. * This file is (mostly) automatically generated from tclOO.decls.
  3. */
  4. #ifndef _TCLOODECLS
  5. #define _TCLOODECLS
  6. #ifndef TCLAPI
  7. # ifdef BUILD_tcl
  8. # define TCLAPI extern DLLEXPORT
  9. # else
  10. # define TCLAPI extern DLLIMPORT
  11. # endif
  12. #endif
  13. #ifdef USE_TCL_STUBS
  14. # undef USE_TCLOO_STUBS
  15. # define USE_TCLOO_STUBS
  16. #endif
  17. /* !BEGIN!: Do not edit below this line. */
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21. /*
  22. * Exported function declarations:
  23. */
  24. /* 0 */
  25. TCLAPI Tcl_Object Tcl_CopyObjectInstance(Tcl_Interp *interp,
  26. Tcl_Object sourceObject,
  27. const char *targetName,
  28. const char *targetNamespaceName);
  29. /* 1 */
  30. TCLAPI Tcl_Object Tcl_GetClassAsObject(Tcl_Class clazz);
  31. /* 2 */
  32. TCLAPI Tcl_Class Tcl_GetObjectAsClass(Tcl_Object object);
  33. /* 3 */
  34. TCLAPI Tcl_Command Tcl_GetObjectCommand(Tcl_Object object);
  35. /* 4 */
  36. TCLAPI Tcl_Object Tcl_GetObjectFromObj(Tcl_Interp *interp,
  37. Tcl_Obj *objPtr);
  38. /* 5 */
  39. TCLAPI Tcl_Namespace * Tcl_GetObjectNamespace(Tcl_Object object);
  40. /* 6 */
  41. TCLAPI Tcl_Class Tcl_MethodDeclarerClass(Tcl_Method method);
  42. /* 7 */
  43. TCLAPI Tcl_Object Tcl_MethodDeclarerObject(Tcl_Method method);
  44. /* 8 */
  45. TCLAPI int Tcl_MethodIsPublic(Tcl_Method method);
  46. /* 9 */
  47. TCLAPI int Tcl_MethodIsType(Tcl_Method method,
  48. const Tcl_MethodType *typePtr,
  49. ClientData *clientDataPtr);
  50. /* 10 */
  51. TCLAPI Tcl_Obj * Tcl_MethodName(Tcl_Method method);
  52. /* 11 */
  53. TCLAPI Tcl_Method Tcl_NewInstanceMethod(Tcl_Interp *interp,
  54. Tcl_Object object, Tcl_Obj *nameObj,
  55. int isPublic, const Tcl_MethodType *typePtr,
  56. ClientData clientData);
  57. /* 12 */
  58. TCLAPI Tcl_Method Tcl_NewMethod(Tcl_Interp *interp, Tcl_Class cls,
  59. Tcl_Obj *nameObj, int isPublic,
  60. const Tcl_MethodType *typePtr,
  61. ClientData clientData);
  62. /* 13 */
  63. TCLAPI Tcl_Object Tcl_NewObjectInstance(Tcl_Interp *interp,
  64. Tcl_Class cls, const char *nameStr,
  65. const char *nsNameStr, int objc,
  66. Tcl_Obj *const *objv, int skip);
  67. /* 14 */
  68. TCLAPI int Tcl_ObjectDeleted(Tcl_Object object);
  69. /* 15 */
  70. TCLAPI int Tcl_ObjectContextIsFiltering(
  71. Tcl_ObjectContext context);
  72. /* 16 */
  73. TCLAPI Tcl_Method Tcl_ObjectContextMethod(Tcl_ObjectContext context);
  74. /* 17 */
  75. TCLAPI Tcl_Object Tcl_ObjectContextObject(Tcl_ObjectContext context);
  76. /* 18 */
  77. TCLAPI int Tcl_ObjectContextSkippedArgs(
  78. Tcl_ObjectContext context);
  79. /* 19 */
  80. TCLAPI ClientData Tcl_ClassGetMetadata(Tcl_Class clazz,
  81. const Tcl_ObjectMetadataType *typePtr);
  82. /* 20 */
  83. TCLAPI void Tcl_ClassSetMetadata(Tcl_Class clazz,
  84. const Tcl_ObjectMetadataType *typePtr,
  85. ClientData metadata);
  86. /* 21 */
  87. TCLAPI ClientData Tcl_ObjectGetMetadata(Tcl_Object object,
  88. const Tcl_ObjectMetadataType *typePtr);
  89. /* 22 */
  90. TCLAPI void Tcl_ObjectSetMetadata(Tcl_Object object,
  91. const Tcl_ObjectMetadataType *typePtr,
  92. ClientData metadata);
  93. /* 23 */
  94. TCLAPI int Tcl_ObjectContextInvokeNext(Tcl_Interp *interp,
  95. Tcl_ObjectContext context, int objc,
  96. Tcl_Obj *const *objv, int skip);
  97. /* 24 */
  98. TCLAPI Tcl_ObjectMapMethodNameProc * Tcl_ObjectGetMethodNameMapper(
  99. Tcl_Object object);
  100. /* 25 */
  101. TCLAPI void Tcl_ObjectSetMethodNameMapper(Tcl_Object object,
  102. Tcl_ObjectMapMethodNameProc *mapMethodNameProc);
  103. /* 26 */
  104. TCLAPI void Tcl_ClassSetConstructor(Tcl_Interp *interp,
  105. Tcl_Class clazz, Tcl_Method method);
  106. /* 27 */
  107. TCLAPI void Tcl_ClassSetDestructor(Tcl_Interp *interp,
  108. Tcl_Class clazz, Tcl_Method method);
  109. /* 28 */
  110. TCLAPI Tcl_Obj * Tcl_GetObjectName(Tcl_Interp *interp,
  111. Tcl_Object object);
  112. /* Slot 29 is reserved */
  113. /* Slot 30 is reserved */
  114. /* 31 */
  115. TCLAPI void TclOOUnusedStubEntry(void);
  116. typedef struct {
  117. const struct TclOOIntStubs *tclOOIntStubs;
  118. } TclOOStubHooks;
  119. typedef struct TclOOStubs {
  120. int magic;
  121. const TclOOStubHooks *hooks;
  122. Tcl_Object (*tcl_CopyObjectInstance) (Tcl_Interp *interp, Tcl_Object sourceObject, const char *targetName, const char *targetNamespaceName); /* 0 */
  123. Tcl_Object (*tcl_GetClassAsObject) (Tcl_Class clazz); /* 1 */
  124. Tcl_Class (*tcl_GetObjectAsClass) (Tcl_Object object); /* 2 */
  125. Tcl_Command (*tcl_GetObjectCommand) (Tcl_Object object); /* 3 */
  126. Tcl_Object (*tcl_GetObjectFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr); /* 4 */
  127. Tcl_Namespace * (*tcl_GetObjectNamespace) (Tcl_Object object); /* 5 */
  128. Tcl_Class (*tcl_MethodDeclarerClass) (Tcl_Method method); /* 6 */
  129. Tcl_Object (*tcl_MethodDeclarerObject) (Tcl_Method method); /* 7 */
  130. int (*tcl_MethodIsPublic) (Tcl_Method method); /* 8 */
  131. int (*tcl_MethodIsType) (Tcl_Method method, const Tcl_MethodType *typePtr, ClientData *clientDataPtr); /* 9 */
  132. Tcl_Obj * (*tcl_MethodName) (Tcl_Method method); /* 10 */
  133. Tcl_Method (*tcl_NewInstanceMethod) (Tcl_Interp *interp, Tcl_Object object, Tcl_Obj *nameObj, int isPublic, const Tcl_MethodType *typePtr, ClientData clientData); /* 11 */
  134. Tcl_Method (*tcl_NewMethod) (Tcl_Interp *interp, Tcl_Class cls, Tcl_Obj *nameObj, int isPublic, const Tcl_MethodType *typePtr, ClientData clientData); /* 12 */
  135. 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 */
  136. int (*tcl_ObjectDeleted) (Tcl_Object object); /* 14 */
  137. int (*tcl_ObjectContextIsFiltering) (Tcl_ObjectContext context); /* 15 */
  138. Tcl_Method (*tcl_ObjectContextMethod) (Tcl_ObjectContext context); /* 16 */
  139. Tcl_Object (*tcl_ObjectContextObject) (Tcl_ObjectContext context); /* 17 */
  140. int (*tcl_ObjectContextSkippedArgs) (Tcl_ObjectContext context); /* 18 */
  141. ClientData (*tcl_ClassGetMetadata) (Tcl_Class clazz, const Tcl_ObjectMetadataType *typePtr); /* 19 */
  142. void (*tcl_ClassSetMetadata) (Tcl_Class clazz, const Tcl_ObjectMetadataType *typePtr, ClientData metadata); /* 20 */
  143. ClientData (*tcl_ObjectGetMetadata) (Tcl_Object object, const Tcl_ObjectMetadataType *typePtr); /* 21 */
  144. void (*tcl_ObjectSetMetadata) (Tcl_Object object, const Tcl_ObjectMetadataType *typePtr, ClientData metadata); /* 22 */
  145. int (*tcl_ObjectContextInvokeNext) (Tcl_Interp *interp, Tcl_ObjectContext context, int objc, Tcl_Obj *const *objv, int skip); /* 23 */
  146. Tcl_ObjectMapMethodNameProc * (*tcl_ObjectGetMethodNameMapper) (Tcl_Object object); /* 24 */
  147. void (*tcl_ObjectSetMethodNameMapper) (Tcl_Object object, Tcl_ObjectMapMethodNameProc *mapMethodNameProc); /* 25 */
  148. void (*tcl_ClassSetConstructor) (Tcl_Interp *interp, Tcl_Class clazz, Tcl_Method method); /* 26 */
  149. void (*tcl_ClassSetDestructor) (Tcl_Interp *interp, Tcl_Class clazz, Tcl_Method method); /* 27 */
  150. Tcl_Obj * (*tcl_GetObjectName) (Tcl_Interp *interp, Tcl_Object object); /* 28 */
  151. void (*reserved29)(void);
  152. void (*reserved30)(void);
  153. void (*tclOOUnusedStubEntry) (void); /* 31 */
  154. } TclOOStubs;
  155. extern const TclOOStubs *tclOOStubsPtr;
  156. #ifdef __cplusplus
  157. }
  158. #endif
  159. #if defined(USE_TCLOO_STUBS)
  160. /*
  161. * Inline function declarations:
  162. */
  163. #define Tcl_CopyObjectInstance \
  164. (tclOOStubsPtr->tcl_CopyObjectInstance) /* 0 */
  165. #define Tcl_GetClassAsObject \
  166. (tclOOStubsPtr->tcl_GetClassAsObject) /* 1 */
  167. #define Tcl_GetObjectAsClass \
  168. (tclOOStubsPtr->tcl_GetObjectAsClass) /* 2 */
  169. #define Tcl_GetObjectCommand \
  170. (tclOOStubsPtr->tcl_GetObjectCommand) /* 3 */
  171. #define Tcl_GetObjectFromObj \
  172. (tclOOStubsPtr->tcl_GetObjectFromObj) /* 4 */
  173. #define Tcl_GetObjectNamespace \
  174. (tclOOStubsPtr->tcl_GetObjectNamespace) /* 5 */
  175. #define Tcl_MethodDeclarerClass \
  176. (tclOOStubsPtr->tcl_MethodDeclarerClass) /* 6 */
  177. #define Tcl_MethodDeclarerObject \
  178. (tclOOStubsPtr->tcl_MethodDeclarerObject) /* 7 */
  179. #define Tcl_MethodIsPublic \
  180. (tclOOStubsPtr->tcl_MethodIsPublic) /* 8 */
  181. #define Tcl_MethodIsType \
  182. (tclOOStubsPtr->tcl_MethodIsType) /* 9 */
  183. #define Tcl_MethodName \
  184. (tclOOStubsPtr->tcl_MethodName) /* 10 */
  185. #define Tcl_NewInstanceMethod \
  186. (tclOOStubsPtr->tcl_NewInstanceMethod) /* 11 */
  187. #define Tcl_NewMethod \
  188. (tclOOStubsPtr->tcl_NewMethod) /* 12 */
  189. #define Tcl_NewObjectInstance \
  190. (tclOOStubsPtr->tcl_NewObjectInstance) /* 13 */
  191. #define Tcl_ObjectDeleted \
  192. (tclOOStubsPtr->tcl_ObjectDeleted) /* 14 */
  193. #define Tcl_ObjectContextIsFiltering \
  194. (tclOOStubsPtr->tcl_ObjectContextIsFiltering) /* 15 */
  195. #define Tcl_ObjectContextMethod \
  196. (tclOOStubsPtr->tcl_ObjectContextMethod) /* 16 */
  197. #define Tcl_ObjectContextObject \
  198. (tclOOStubsPtr->tcl_ObjectContextObject) /* 17 */
  199. #define Tcl_ObjectContextSkippedArgs \
  200. (tclOOStubsPtr->tcl_ObjectContextSkippedArgs) /* 18 */
  201. #define Tcl_ClassGetMetadata \
  202. (tclOOStubsPtr->tcl_ClassGetMetadata) /* 19 */
  203. #define Tcl_ClassSetMetadata \
  204. (tclOOStubsPtr->tcl_ClassSetMetadata) /* 20 */
  205. #define Tcl_ObjectGetMetadata \
  206. (tclOOStubsPtr->tcl_ObjectGetMetadata) /* 21 */
  207. #define Tcl_ObjectSetMetadata \
  208. (tclOOStubsPtr->tcl_ObjectSetMetadata) /* 22 */
  209. #define Tcl_ObjectContextInvokeNext \
  210. (tclOOStubsPtr->tcl_ObjectContextInvokeNext) /* 23 */
  211. #define Tcl_ObjectGetMethodNameMapper \
  212. (tclOOStubsPtr->tcl_ObjectGetMethodNameMapper) /* 24 */
  213. #define Tcl_ObjectSetMethodNameMapper \
  214. (tclOOStubsPtr->tcl_ObjectSetMethodNameMapper) /* 25 */
  215. #define Tcl_ClassSetConstructor \
  216. (tclOOStubsPtr->tcl_ClassSetConstructor) /* 26 */
  217. #define Tcl_ClassSetDestructor \
  218. (tclOOStubsPtr->tcl_ClassSetDestructor) /* 27 */
  219. #define Tcl_GetObjectName \
  220. (tclOOStubsPtr->tcl_GetObjectName) /* 28 */
  221. /* Slot 29 is reserved */
  222. /* Slot 30 is reserved */
  223. #define TclOOUnusedStubEntry \
  224. (tclOOStubsPtr->tclOOUnusedStubEntry) /* 31 */
  225. #endif /* defined(USE_TCLOO_STUBS) */
  226. /* !END!: Do not edit above this line. */
  227. #undef TclOOUnusedStubEntry
  228. #endif /* _TCLOODECLS */