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