Posted to tcl by kbk at Sun Jun 01 02:12:54 GMT 2008view raw

  1. /*
  2. * $Id: tclOODecls.h,v 1.3 2008/06/01 00:33:05 dkf Exp $
  3. *
  4. * This file is (mostly) automatically generated from tclOO.decls.
  5. */
  6.  
  7.  
  8. #ifndef _TCLOODECLS
  9. #define _TCLOODECLS
  10.  
  11. #undef TCL_STORAGE_CLASS
  12. #ifdef BUILD_tcl
  13. # define TCL_STORAGE_CLASS DLLEXPORT
  14. #else
  15. # ifdef USE_TCL_STUBS
  16. # define TCL_STORAGE_CLASS
  17. # else
  18. # define TCL_STORAGE_CLASS DLLIMPORT
  19. # endif
  20. #endif
  21.  
  22. /*
  23. * WARNING: This file is automatically generated by the tools/genStubs.tcl
  24. * script. Any modifications to the function declarations below should be made
  25. * in the generic/tcl.decls script.
  26. */
  27.  
  28.  
  29.  
  30. #if defined(USE_TCLOO_STUBS)
  31. extern const char *TclOOInitializeStubs(Tcl_Interp *, const char *version);
  32. #define Tcl_OOInitStubs(interp) TclOOInitializeStubs((interp),TCLOO_VERSION)
  33. #else
  34. #define Tcl_OOInitStubs(interp) Tcl_PkgRequire((interp),"TclOO",TCLOO_VERSION)
  35. #endif
  36.  
  37.  
  38. /* !BEGIN!: Do not edit below this line. */
  39.  
  40. /*
  41. * Exported function declarations:
  42. */
  43.  
  44. #ifndef Tcl_CopyObjectInstance_TCL_DECLARED
  45. #define Tcl_CopyObjectInstance_TCL_DECLARED
  46. /* 0 */
  47. EXTERN Tcl_Object Tcl_CopyObjectInstance (Tcl_Interp * interp,
  48. Tcl_Object sourceObject,
  49. const char * targetName,
  50. const char * targetNamespaceName);
  51. #endif
  52. #ifndef Tcl_GetClassAsObject_TCL_DECLARED
  53. #define Tcl_GetClassAsObject_TCL_DECLARED
  54. /* 1 */
  55. EXTERN Tcl_Object Tcl_GetClassAsObject (Tcl_Class clazz);
  56. #endif
  57. #ifndef Tcl_GetObjectAsClass_TCL_DECLARED
  58. #define Tcl_GetObjectAsClass_TCL_DECLARED
  59. /* 2 */
  60. EXTERN Tcl_Class Tcl_GetObjectAsClass (Tcl_Object object);
  61. #endif
  62. #ifndef Tcl_GetObjectCommand_TCL_DECLARED
  63. #define Tcl_GetObjectCommand_TCL_DECLARED
  64. /* 3 */
  65. EXTERN Tcl_Command Tcl_GetObjectCommand (Tcl_Object object);
  66. #endif
  67. #ifndef Tcl_GetObjectFromObj_TCL_DECLARED
  68. #define Tcl_GetObjectFromObj_TCL_DECLARED
  69. /* 4 */
  70. EXTERN Tcl_Object Tcl_GetObjectFromObj (Tcl_Interp * interp,
  71. Tcl_Obj * objPtr);
  72. #endif
  73. #ifndef Tcl_GetObjectNamespace_TCL_DECLARED
  74. #define Tcl_GetObjectNamespace_TCL_DECLARED
  75. /* 5 */
  76. EXTERN Tcl_Namespace * Tcl_GetObjectNamespace (Tcl_Object object);
  77. #endif
  78. #ifndef Tcl_MethodDeclarerClass_TCL_DECLARED
  79. #define Tcl_MethodDeclarerClass_TCL_DECLARED
  80. /* 6 */
  81. EXTERN Tcl_Class Tcl_MethodDeclarerClass (Tcl_Method method);
  82. #endif
  83. #ifndef Tcl_MethodDeclarerObject_TCL_DECLARED
  84. #define Tcl_MethodDeclarerObject_TCL_DECLARED
  85. /* 7 */
  86. EXTERN Tcl_Object Tcl_MethodDeclarerObject (Tcl_Method method);
  87. #endif
  88. #ifndef Tcl_MethodIsPublic_TCL_DECLARED
  89. #define Tcl_MethodIsPublic_TCL_DECLARED
  90. /* 8 */
  91. EXTERN int Tcl_MethodIsPublic (Tcl_Method method);
  92. #endif
  93. #ifndef Tcl_MethodIsType_TCL_DECLARED
  94. #define Tcl_MethodIsType_TCL_DECLARED
  95. /* 9 */
  96. EXTERN int Tcl_MethodIsType (Tcl_Method method,
  97. const Tcl_MethodType * typePtr,
  98. ClientData * clientDataPtr);
  99. #endif
  100. #ifndef Tcl_MethodName_TCL_DECLARED
  101. #define Tcl_MethodName_TCL_DECLARED
  102. /* 10 */
  103. EXTERN Tcl_Obj * Tcl_MethodName (Tcl_Method method);
  104. #endif
  105. #ifndef Tcl_NewInstanceMethod_TCL_DECLARED
  106. #define Tcl_NewInstanceMethod_TCL_DECLARED
  107. /* 11 */
  108. EXTERN Tcl_Method Tcl_NewInstanceMethod (Tcl_Interp * interp,
  109. Tcl_Object object, Tcl_Obj * nameObj,
  110. int isPublic, const Tcl_MethodType * typePtr,
  111. ClientData clientData);
  112. #endif
  113. #ifndef Tcl_NewMethod_TCL_DECLARED
  114. #define Tcl_NewMethod_TCL_DECLARED
  115. /* 12 */
  116. EXTERN Tcl_Method Tcl_NewMethod (Tcl_Interp * interp, Tcl_Class cls,
  117. Tcl_Obj * nameObj, int isPublic,
  118. const Tcl_MethodType * typePtr,
  119. ClientData clientData);
  120. #endif
  121. #ifndef Tcl_NewObjectInstance_TCL_DECLARED
  122. #define Tcl_NewObjectInstance_TCL_DECLARED
  123. /* 13 */
  124. EXTERN Tcl_Object Tcl_NewObjectInstance (Tcl_Interp * interp,
  125. Tcl_Class cls, const char * nameStr,
  126. const char * nsNameStr, int objc,
  127. Tcl_Obj *const * objv, int skip);
  128. #endif
  129. #ifndef Tcl_ObjectDeleted_TCL_DECLARED
  130. #define Tcl_ObjectDeleted_TCL_DECLARED
  131. /* 14 */
  132. EXTERN int Tcl_ObjectDeleted (Tcl_Object object);
  133. #endif
  134. #ifndef Tcl_ObjectContextIsFiltering_TCL_DECLARED
  135. #define Tcl_ObjectContextIsFiltering_TCL_DECLARED
  136. /* 15 */
  137. EXTERN int Tcl_ObjectContextIsFiltering (
  138. Tcl_ObjectContext context);
  139. #endif
  140. #ifndef Tcl_ObjectContextMethod_TCL_DECLARED
  141. #define Tcl_ObjectContextMethod_TCL_DECLARED
  142. /* 16 */
  143. EXTERN Tcl_Method Tcl_ObjectContextMethod (Tcl_ObjectContext context);
  144. #endif
  145. #ifndef Tcl_ObjectContextObject_TCL_DECLARED
  146. #define Tcl_ObjectContextObject_TCL_DECLARED
  147. /* 17 */
  148. EXTERN Tcl_Object Tcl_ObjectContextObject (Tcl_ObjectContext context);
  149. #endif
  150. #ifndef Tcl_ObjectContextSkippedArgs_TCL_DECLARED
  151. #define Tcl_ObjectContextSkippedArgs_TCL_DECLARED
  152. /* 18 */
  153. EXTERN int Tcl_ObjectContextSkippedArgs (
  154. Tcl_ObjectContext context);
  155. #endif
  156. #ifndef Tcl_ClassGetMetadata_TCL_DECLARED
  157. #define Tcl_ClassGetMetadata_TCL_DECLARED
  158. /* 19 */
  159. EXTERN ClientData Tcl_ClassGetMetadata (Tcl_Class clazz,
  160. const Tcl_ObjectMetadataType * typePtr);
  161. #endif
  162. #ifndef Tcl_ClassSetMetadata_TCL_DECLARED
  163. #define Tcl_ClassSetMetadata_TCL_DECLARED
  164. /* 20 */
  165. EXTERN void Tcl_ClassSetMetadata (Tcl_Class clazz,
  166. const Tcl_ObjectMetadataType * typePtr,
  167. ClientData metadata);
  168. #endif
  169. #ifndef Tcl_ObjectGetMetadata_TCL_DECLARED
  170. #define Tcl_ObjectGetMetadata_TCL_DECLARED
  171. /* 21 */
  172. EXTERN ClientData Tcl_ObjectGetMetadata (Tcl_Object object,
  173. const Tcl_ObjectMetadataType * typePtr);
  174. #endif
  175. #ifndef Tcl_ObjectSetMetadata_TCL_DECLARED
  176. #define Tcl_ObjectSetMetadata_TCL_DECLARED
  177. /* 22 */
  178. EXTERN void Tcl_ObjectSetMetadata (Tcl_Object object,
  179. const Tcl_ObjectMetadataType * typePtr,
  180. ClientData metadata);
  181. #endif
  182. #ifndef Tcl_ObjectContextInvokeNext_TCL_DECLARED
  183. #define Tcl_ObjectContextInvokeNext_TCL_DECLARED
  184. /* 23 */
  185. EXTERN int Tcl_ObjectContextInvokeNext (Tcl_Interp * interp,
  186. Tcl_ObjectContext context, int objc,
  187. Tcl_Obj *const * objv, int skip);
  188. #endif
  189. #ifndef Tcl_ObjectGetMethodNameMapper_TCL_DECLARED
  190. #define Tcl_ObjectGetMethodNameMapper_TCL_DECLARED
  191. /* 24 */
  192. EXTERN Tcl_ObjectMapMethodNameProc Tcl_ObjectGetMethodNameMapper (
  193. Tcl_Object object);
  194. #endif
  195. #ifndef Tcl_ObjectSetMethodNameMapper_TCL_DECLARED
  196. #define Tcl_ObjectSetMethodNameMapper_TCL_DECLARED
  197. /* 25 */
  198. EXTERN void Tcl_ObjectSetMethodNameMapper (Tcl_Object object,
  199. Tcl_ObjectMapMethodNameProc mapMethodNameProc);
  200. #endif
  201. #ifndef Tcl_ClassSetConstructor_TCL_DECLARED
  202. #define Tcl_ClassSetConstructor_TCL_DECLARED
  203. /* 26 */
  204. EXTERN void Tcl_ClassSetConstructor (Tcl_Interp * interp,
  205. Tcl_Class clazz, Tcl_Method method);
  206. #endif
  207. #ifndef Tcl_ClassSetDestructor_TCL_DECLARED
  208. #define Tcl_ClassSetDestructor_TCL_DECLARED
  209. /* 27 */
  210. EXTERN void Tcl_ClassSetDestructor (Tcl_Interp * interp,
  211. Tcl_Class clazz, Tcl_Method method);
  212. #endif
  213.  
  214. typedef struct TclOOStubHooks {
  215. CONST struct TclOOIntStubs *tclOOIntStubs;
  216. } TclOOStubHooks;
  217.  
  218. typedef struct TclOOStubs {
  219. int magic;
  220. CONST struct TclOOStubHooks *hooks;
  221.  
  222. Tcl_Object (*tcl_CopyObjectInstance) (Tcl_Interp * interp, Tcl_Object sourceObject, const char * targetName, const char * targetNamespaceName); /* 0 */
  223. Tcl_Object (*tcl_GetClassAsObject) (Tcl_Class clazz); /* 1 */
  224. Tcl_Class (*tcl_GetObjectAsClass) (Tcl_Object object); /* 2 */
  225. Tcl_Command (*tcl_GetObjectCommand) (Tcl_Object object); /* 3 */
  226. Tcl_Object (*tcl_GetObjectFromObj) (Tcl_Interp * interp, Tcl_Obj * objPtr); /* 4 */
  227. Tcl_Namespace * (*tcl_GetObjectNamespace) (Tcl_Object object); /* 5 */
  228. Tcl_Class (*tcl_MethodDeclarerClass) (Tcl_Method method); /* 6 */
  229. Tcl_Object (*tcl_MethodDeclarerObject) (Tcl_Method method); /* 7 */
  230. int (*tcl_MethodIsPublic) (Tcl_Method method); /* 8 */
  231. int (*tcl_MethodIsType) (Tcl_Method method, const Tcl_MethodType * typePtr, ClientData * clientDataPtr); /* 9 */
  232. Tcl_Obj * (*tcl_MethodName) (Tcl_Method method); /* 10 */
  233. Tcl_Method (*tcl_NewInstanceMethod) (Tcl_Interp * interp, Tcl_Object object, Tcl_Obj * nameObj, int isPublic, const Tcl_MethodType * typePtr, ClientData clientData); /* 11 */
  234. Tcl_Method (*tcl_NewMethod) (Tcl_Interp * interp, Tcl_Class cls, Tcl_Obj * nameObj, int isPublic, const Tcl_MethodType * typePtr, ClientData clientData); /* 12 */
  235. 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 */
  236. int (*tcl_ObjectDeleted) (Tcl_Object object); /* 14 */
  237. int (*tcl_ObjectContextIsFiltering) (Tcl_ObjectContext context); /* 15 */
  238. Tcl_Method (*tcl_ObjectContextMethod) (Tcl_ObjectContext context); /* 16 */
  239. Tcl_Object (*tcl_ObjectContextObject) (Tcl_ObjectContext context); /* 17 */
  240. int (*tcl_ObjectContextSkippedArgs) (Tcl_ObjectContext context); /* 18 */
  241. ClientData (*tcl_ClassGetMetadata) (Tcl_Class clazz, const Tcl_ObjectMetadataType * typePtr); /* 19 */
  242. void (*tcl_ClassSetMetadata) (Tcl_Class clazz, const Tcl_ObjectMetadataType * typePtr, ClientData metadata); /* 20 */
  243. ClientData (*tcl_ObjectGetMetadata) (Tcl_Object object, const Tcl_ObjectMetadataType * typePtr); /* 21 */
  244. void (*tcl_ObjectSetMetadata) (Tcl_Object object, const Tcl_ObjectMetadataType * typePtr, ClientData metadata); /* 22 */
  245. int (*tcl_ObjectContextInvokeNext) (Tcl_Interp * interp, Tcl_ObjectContext context, int objc, Tcl_Obj *const * objv, int skip); /* 23 */
  246. Tcl_ObjectMapMethodNameProc (*tcl_ObjectGetMethodNameMapper) (Tcl_Object object); /* 24 */
  247. void (*tcl_ObjectSetMethodNameMapper) (Tcl_Object object, Tcl_ObjectMapMethodNameProc mapMethodNameProc); /* 25 */
  248. void (*tcl_ClassSetConstructor) (Tcl_Interp * interp, Tcl_Class clazz, Tcl_Method method); /* 26 */
  249. void (*tcl_ClassSetDestructor) (Tcl_Interp * interp, Tcl_Class clazz, Tcl_Method method); /* 27 */
  250. } TclOOStubs;
  251.  
  252. #if defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS)
  253. extern CONST TclOOStubs *tclOOStubsPtr;
  254. #endif /* defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS) */
  255.  
  256. #if defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS)
  257.  
  258. /*
  259. * Inline function declarations:
  260. */
  261.  
  262. #ifndef Tcl_CopyObjectInstance
  263. #define Tcl_CopyObjectInstance \
  264. (tclOOStubsPtr->tcl_CopyObjectInstance) /* 0 */
  265. #endif
  266. #ifndef Tcl_GetClassAsObject
  267. #define Tcl_GetClassAsObject \
  268. (tclOOStubsPtr->tcl_GetClassAsObject) /* 1 */
  269. #endif
  270. #ifndef Tcl_GetObjectAsClass
  271. #define Tcl_GetObjectAsClass \
  272. (tclOOStubsPtr->tcl_GetObjectAsClass) /* 2 */
  273. #endif
  274. #ifndef Tcl_GetObjectCommand
  275. #define Tcl_GetObjectCommand \
  276. (tclOOStubsPtr->tcl_GetObjectCommand) /* 3 */
  277. #endif
  278. #ifndef Tcl_GetObjectFromObj
  279. #define Tcl_GetObjectFromObj \
  280. (tclOOStubsPtr->tcl_GetObjectFromObj) /* 4 */
  281. #endif
  282. #ifndef Tcl_GetObjectNamespace
  283. #define Tcl_GetObjectNamespace \
  284. (tclOOStubsPtr->tcl_GetObjectNamespace) /* 5 */
  285. #endif
  286. #ifndef Tcl_MethodDeclarerClass
  287. #define Tcl_MethodDeclarerClass \
  288. (tclOOStubsPtr->tcl_MethodDeclarerClass) /* 6 */
  289. #endif
  290. #ifndef Tcl_MethodDeclarerObject
  291. #define Tcl_MethodDeclarerObject \
  292. (tclOOStubsPtr->tcl_MethodDeclarerObject) /* 7 */
  293. #endif
  294. #ifndef Tcl_MethodIsPublic
  295. #define Tcl_MethodIsPublic \
  296. (tclOOStubsPtr->tcl_MethodIsPublic) /* 8 */
  297. #endif
  298. #ifndef Tcl_MethodIsType
  299. #define Tcl_MethodIsType \
  300. (tclOOStubsPtr->tcl_MethodIsType) /* 9 */
  301. #endif
  302. #ifndef Tcl_MethodName
  303. #define Tcl_MethodName \
  304. (tclOOStubsPtr->tcl_MethodName) /* 10 */
  305. #endif
  306. #ifndef Tcl_NewInstanceMethod
  307. #define Tcl_NewInstanceMethod \
  308. (tclOOStubsPtr->tcl_NewInstanceMethod) /* 11 */
  309. #endif
  310. #ifndef Tcl_NewMethod
  311. #define Tcl_NewMethod \
  312. (tclOOStubsPtr->tcl_NewMethod) /* 12 */
  313. #endif
  314. #ifndef Tcl_NewObjectInstance
  315. #define Tcl_NewObjectInstance \
  316. (tclOOStubsPtr->tcl_NewObjectInstance) /* 13 */
  317. #endif
  318. #ifndef Tcl_ObjectDeleted
  319. #define Tcl_ObjectDeleted \
  320. (tclOOStubsPtr->tcl_ObjectDeleted) /* 14 */
  321. #endif
  322. #ifndef Tcl_ObjectContextIsFiltering
  323. #define Tcl_ObjectContextIsFiltering \
  324. (tclOOStubsPtr->tcl_ObjectContextIsFiltering) /* 15 */
  325. #endif
  326. #ifndef Tcl_ObjectContextMethod
  327. #define Tcl_ObjectContextMethod \
  328. (tclOOStubsPtr->tcl_ObjectContextMethod) /* 16 */
  329. #endif
  330. #ifndef Tcl_ObjectContextObject
  331. #define Tcl_ObjectContextObject \
  332. (tclOOStubsPtr->tcl_ObjectContextObject) /* 17 */
  333. #endif
  334. #ifndef Tcl_ObjectContextSkippedArgs
  335. #define Tcl_ObjectContextSkippedArgs \
  336. (tclOOStubsPtr->tcl_ObjectContextSkippedArgs) /* 18 */
  337. #endif
  338. #ifndef Tcl_ClassGetMetadata
  339. #define Tcl_ClassGetMetadata \
  340. (tclOOStubsPtr->tcl_ClassGetMetadata) /* 19 */
  341. #endif
  342. #ifndef Tcl_ClassSetMetadata
  343. #define Tcl_ClassSetMetadata \
  344. (tclOOStubsPtr->tcl_ClassSetMetadata) /* 20 */
  345. #endif
  346. #ifndef Tcl_ObjectGetMetadata
  347. #define Tcl_ObjectGetMetadata \
  348. (tclOOStubsPtr->tcl_ObjectGetMetadata) /* 21 */
  349. #endif
  350. #ifndef Tcl_ObjectSetMetadata
  351. #define Tcl_ObjectSetMetadata \
  352. (tclOOStubsPtr->tcl_ObjectSetMetadata) /* 22 */
  353. #endif
  354. #ifndef Tcl_ObjectContextInvokeNext
  355. #define Tcl_ObjectContextInvokeNext \
  356. (tclOOStubsPtr->tcl_ObjectContextInvokeNext) /* 23 */
  357. #endif
  358. #ifndef Tcl_ObjectGetMethodNameMapper
  359. #define Tcl_ObjectGetMethodNameMapper \
  360. (tclOOStubsPtr->tcl_ObjectGetMethodNameMapper) /* 24 */
  361. #endif
  362. #ifndef Tcl_ObjectSetMethodNameMapper
  363. #define Tcl_ObjectSetMethodNameMapper \
  364. (tclOOStubsPtr->tcl_ObjectSetMethodNameMapper) /* 25 */
  365. #endif
  366. #ifndef Tcl_ClassSetConstructor
  367. #define Tcl_ClassSetConstructor \
  368. (tclOOStubsPtr->tcl_ClassSetConstructor) /* 26 */
  369. #endif
  370. #ifndef Tcl_ClassSetDestructor
  371. #define Tcl_ClassSetDestructor \
  372. (tclOOStubsPtr->tcl_ClassSetDestructor) /* 27 */
  373. #endif
  374.  
  375. #endif /* defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS) */
  376.  
  377. /* !END!: Do not edit above this line. */
  378.  
  379. #undef TCL_STORAGE_CLASS
  380. #define TCL_STORAGE_CLASS DLLIMPORT
  381.  
  382. #endif /* _TCLOODECLS */