tclOOIntDecls.h 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. /*
  2. * This file is (mostly) automatically generated from tclOO.decls.
  3. */
  4. #ifndef _TCLOOINTDECLS
  5. #define _TCLOOINTDECLS
  6. /* !BEGIN!: Do not edit below this line. */
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10. /*
  11. * Exported function declarations:
  12. */
  13. /* 0 */
  14. TCLAPI Tcl_Object TclOOGetDefineCmdContext(Tcl_Interp *interp);
  15. /* 1 */
  16. TCLAPI Tcl_Method TclOOMakeProcInstanceMethod(Tcl_Interp *interp,
  17. Object *oPtr, int flags, Tcl_Obj *nameObj,
  18. Tcl_Obj *argsObj, Tcl_Obj *bodyObj,
  19. const Tcl_MethodType *typePtr,
  20. ClientData clientData, Proc **procPtrPtr);
  21. /* 2 */
  22. TCLAPI Tcl_Method TclOOMakeProcMethod(Tcl_Interp *interp,
  23. Class *clsPtr, int flags, Tcl_Obj *nameObj,
  24. const char *namePtr, Tcl_Obj *argsObj,
  25. Tcl_Obj *bodyObj,
  26. const Tcl_MethodType *typePtr,
  27. ClientData clientData, Proc **procPtrPtr);
  28. /* 3 */
  29. TCLAPI Method * TclOONewProcInstanceMethod(Tcl_Interp *interp,
  30. Object *oPtr, int flags, Tcl_Obj *nameObj,
  31. Tcl_Obj *argsObj, Tcl_Obj *bodyObj,
  32. ProcedureMethod **pmPtrPtr);
  33. /* 4 */
  34. TCLAPI Method * TclOONewProcMethod(Tcl_Interp *interp, Class *clsPtr,
  35. int flags, Tcl_Obj *nameObj,
  36. Tcl_Obj *argsObj, Tcl_Obj *bodyObj,
  37. ProcedureMethod **pmPtrPtr);
  38. /* 5 */
  39. TCLAPI int TclOOObjectCmdCore(Object *oPtr, Tcl_Interp *interp,
  40. int objc, Tcl_Obj *const *objv,
  41. int publicOnly, Class *startCls);
  42. /* 6 */
  43. TCLAPI int TclOOIsReachable(Class *targetPtr, Class *startPtr);
  44. /* 7 */
  45. TCLAPI Method * TclOONewForwardMethod(Tcl_Interp *interp,
  46. Class *clsPtr, int isPublic,
  47. Tcl_Obj *nameObj, Tcl_Obj *prefixObj);
  48. /* 8 */
  49. TCLAPI Method * TclOONewForwardInstanceMethod(Tcl_Interp *interp,
  50. Object *oPtr, int isPublic, Tcl_Obj *nameObj,
  51. Tcl_Obj *prefixObj);
  52. /* 9 */
  53. TCLAPI Tcl_Method TclOONewProcInstanceMethodEx(Tcl_Interp *interp,
  54. Tcl_Object oPtr,
  55. TclOO_PreCallProc *preCallPtr,
  56. TclOO_PostCallProc *postCallPtr,
  57. ProcErrorProc *errProc,
  58. ClientData clientData, Tcl_Obj *nameObj,
  59. Tcl_Obj *argsObj, Tcl_Obj *bodyObj,
  60. int flags, void **internalTokenPtr);
  61. /* 10 */
  62. TCLAPI Tcl_Method TclOONewProcMethodEx(Tcl_Interp *interp,
  63. Tcl_Class clsPtr,
  64. TclOO_PreCallProc *preCallPtr,
  65. TclOO_PostCallProc *postCallPtr,
  66. ProcErrorProc *errProc,
  67. ClientData clientData, Tcl_Obj *nameObj,
  68. Tcl_Obj *argsObj, Tcl_Obj *bodyObj,
  69. int flags, void **internalTokenPtr);
  70. /* 11 */
  71. TCLAPI int TclOOInvokeObject(Tcl_Interp *interp,
  72. Tcl_Object object, Tcl_Class startCls,
  73. int publicPrivate, int objc,
  74. Tcl_Obj *const *objv);
  75. /* 12 */
  76. TCLAPI void TclOOObjectSetFilters(Object *oPtr, int numFilters,
  77. Tcl_Obj *const *filters);
  78. /* 13 */
  79. TCLAPI void TclOOClassSetFilters(Tcl_Interp *interp,
  80. Class *classPtr, int numFilters,
  81. Tcl_Obj *const *filters);
  82. /* 14 */
  83. TCLAPI void TclOOObjectSetMixins(Object *oPtr, int numMixins,
  84. Class *const *mixins);
  85. /* 15 */
  86. TCLAPI void TclOOClassSetMixins(Tcl_Interp *interp,
  87. Class *classPtr, int numMixins,
  88. Class *const *mixins);
  89. typedef struct TclOOIntStubs {
  90. int magic;
  91. void *hooks;
  92. Tcl_Object (*tclOOGetDefineCmdContext) (Tcl_Interp *interp); /* 0 */
  93. Tcl_Method (*tclOOMakeProcInstanceMethod) (Tcl_Interp *interp, Object *oPtr, int flags, Tcl_Obj *nameObj, Tcl_Obj *argsObj, Tcl_Obj *bodyObj, const Tcl_MethodType *typePtr, ClientData clientData, Proc **procPtrPtr); /* 1 */
  94. Tcl_Method (*tclOOMakeProcMethod) (Tcl_Interp *interp, Class *clsPtr, int flags, Tcl_Obj *nameObj, const char *namePtr, Tcl_Obj *argsObj, Tcl_Obj *bodyObj, const Tcl_MethodType *typePtr, ClientData clientData, Proc **procPtrPtr); /* 2 */
  95. Method * (*tclOONewProcInstanceMethod) (Tcl_Interp *interp, Object *oPtr, int flags, Tcl_Obj *nameObj, Tcl_Obj *argsObj, Tcl_Obj *bodyObj, ProcedureMethod **pmPtrPtr); /* 3 */
  96. Method * (*tclOONewProcMethod) (Tcl_Interp *interp, Class *clsPtr, int flags, Tcl_Obj *nameObj, Tcl_Obj *argsObj, Tcl_Obj *bodyObj, ProcedureMethod **pmPtrPtr); /* 4 */
  97. int (*tclOOObjectCmdCore) (Object *oPtr, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv, int publicOnly, Class *startCls); /* 5 */
  98. int (*tclOOIsReachable) (Class *targetPtr, Class *startPtr); /* 6 */
  99. Method * (*tclOONewForwardMethod) (Tcl_Interp *interp, Class *clsPtr, int isPublic, Tcl_Obj *nameObj, Tcl_Obj *prefixObj); /* 7 */
  100. Method * (*tclOONewForwardInstanceMethod) (Tcl_Interp *interp, Object *oPtr, int isPublic, Tcl_Obj *nameObj, Tcl_Obj *prefixObj); /* 8 */
  101. Tcl_Method (*tclOONewProcInstanceMethodEx) (Tcl_Interp *interp, Tcl_Object oPtr, TclOO_PreCallProc *preCallPtr, TclOO_PostCallProc *postCallPtr, ProcErrorProc *errProc, ClientData clientData, Tcl_Obj *nameObj, Tcl_Obj *argsObj, Tcl_Obj *bodyObj, int flags, void **internalTokenPtr); /* 9 */
  102. Tcl_Method (*tclOONewProcMethodEx) (Tcl_Interp *interp, Tcl_Class clsPtr, TclOO_PreCallProc *preCallPtr, TclOO_PostCallProc *postCallPtr, ProcErrorProc *errProc, ClientData clientData, Tcl_Obj *nameObj, Tcl_Obj *argsObj, Tcl_Obj *bodyObj, int flags, void **internalTokenPtr); /* 10 */
  103. int (*tclOOInvokeObject) (Tcl_Interp *interp, Tcl_Object object, Tcl_Class startCls, int publicPrivate, int objc, Tcl_Obj *const *objv); /* 11 */
  104. void (*tclOOObjectSetFilters) (Object *oPtr, int numFilters, Tcl_Obj *const *filters); /* 12 */
  105. void (*tclOOClassSetFilters) (Tcl_Interp *interp, Class *classPtr, int numFilters, Tcl_Obj *const *filters); /* 13 */
  106. void (*tclOOObjectSetMixins) (Object *oPtr, int numMixins, Class *const *mixins); /* 14 */
  107. void (*tclOOClassSetMixins) (Tcl_Interp *interp, Class *classPtr, int numMixins, Class *const *mixins); /* 15 */
  108. } TclOOIntStubs;
  109. extern const TclOOIntStubs *tclOOIntStubsPtr;
  110. #ifdef __cplusplus
  111. }
  112. #endif
  113. #if defined(USE_TCLOO_STUBS)
  114. /*
  115. * Inline function declarations:
  116. */
  117. #define TclOOGetDefineCmdContext \
  118. (tclOOIntStubsPtr->tclOOGetDefineCmdContext) /* 0 */
  119. #define TclOOMakeProcInstanceMethod \
  120. (tclOOIntStubsPtr->tclOOMakeProcInstanceMethod) /* 1 */
  121. #define TclOOMakeProcMethod \
  122. (tclOOIntStubsPtr->tclOOMakeProcMethod) /* 2 */
  123. #define TclOONewProcInstanceMethod \
  124. (tclOOIntStubsPtr->tclOONewProcInstanceMethod) /* 3 */
  125. #define TclOONewProcMethod \
  126. (tclOOIntStubsPtr->tclOONewProcMethod) /* 4 */
  127. #define TclOOObjectCmdCore \
  128. (tclOOIntStubsPtr->tclOOObjectCmdCore) /* 5 */
  129. #define TclOOIsReachable \
  130. (tclOOIntStubsPtr->tclOOIsReachable) /* 6 */
  131. #define TclOONewForwardMethod \
  132. (tclOOIntStubsPtr->tclOONewForwardMethod) /* 7 */
  133. #define TclOONewForwardInstanceMethod \
  134. (tclOOIntStubsPtr->tclOONewForwardInstanceMethod) /* 8 */
  135. #define TclOONewProcInstanceMethodEx \
  136. (tclOOIntStubsPtr->tclOONewProcInstanceMethodEx) /* 9 */
  137. #define TclOONewProcMethodEx \
  138. (tclOOIntStubsPtr->tclOONewProcMethodEx) /* 10 */
  139. #define TclOOInvokeObject \
  140. (tclOOIntStubsPtr->tclOOInvokeObject) /* 11 */
  141. #define TclOOObjectSetFilters \
  142. (tclOOIntStubsPtr->tclOOObjectSetFilters) /* 12 */
  143. #define TclOOClassSetFilters \
  144. (tclOOIntStubsPtr->tclOOClassSetFilters) /* 13 */
  145. #define TclOOObjectSetMixins \
  146. (tclOOIntStubsPtr->tclOOObjectSetMixins) /* 14 */
  147. #define TclOOClassSetMixins \
  148. (tclOOIntStubsPtr->tclOOClassSetMixins) /* 15 */
  149. #endif /* defined(USE_TCLOO_STUBS) */
  150. /* !END!: Do not edit above this line. */
  151. #endif /* _TCLOOINTDECLS */