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