summaryrefslogtreecommitdiffstats
path: root/generic/tclOODecls.h
blob: 1a0c262645e863432c694f5a7e1860994c4fdcf4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
/*
 * $Id: tclOODecls.h,v 1.11 2009/01/29 14:53:36 dkf Exp $
 *
 * This file is (mostly) automatically generated from tclOO.decls.
 */

#ifndef _TCLOODECLS
#define _TCLOODECLS

#undef TCL_STORAGE_CLASS
#ifdef BUILD_tcl
#   define TCL_STORAGE_CLASS DLLEXPORT
#else
#   ifdef USE_TCL_STUBS
#      define TCL_STORAGE_CLASS
#   else
#      define TCL_STORAGE_CLASS DLLIMPORT
#   endif
#endif

/*
 * WARNING: This file is automatically generated by the tools/genStubs.tcl
 * script. Any modifications to the function declarations below should be made
 * in the generic/tclOO.decls script.
 */

#if defined(USE_TCLOO_STUBS)
extern const char *TclOOInitializeStubs(Tcl_Interp *, const char *version);
#define Tcl_OOInitStubs(interp) TclOOInitializeStubs((interp),TCLOO_VERSION)
#else
#define Tcl_OOInitStubs(interp) \
	Tcl_PkgRequire((interp),"TclOO",TCLOO_VERSION,0)
#endif

/* !BEGIN!: Do not edit below this line. */

/*
 * Exported function declarations:
 */

#ifndef Tcl_CopyObjectInstance_TCL_DECLARED
#define Tcl_CopyObjectInstance_TCL_DECLARED
/* 0 */
EXTERN Tcl_Object	Tcl_CopyObjectInstance (Tcl_Interp * interp,
				Tcl_Object sourceObject,
				const char * targetName,
				const char * targetNamespaceName);
#endif
#ifndef Tcl_GetClassAsObject_TCL_DECLARED
#define Tcl_GetClassAsObject_TCL_DECLARED
/* 1 */
EXTERN Tcl_Object	Tcl_GetClassAsObject (Tcl_Class clazz);
#endif
#ifndef Tcl_GetObjectAsClass_TCL_DECLARED
#define Tcl_GetObjectAsClass_TCL_DECLARED
/* 2 */
EXTERN Tcl_Class	Tcl_GetObjectAsClass (Tcl_Object object);
#endif
#ifndef Tcl_GetObjectCommand_TCL_DECLARED
#define Tcl_GetObjectCommand_TCL_DECLARED
/* 3 */
EXTERN Tcl_Command	Tcl_GetObjectCommand (Tcl_Object object);
#endif
#ifndef Tcl_GetObjectFromObj_TCL_DECLARED
#define Tcl_GetObjectFromObj_TCL_DECLARED
/* 4 */
EXTERN Tcl_Object	Tcl_GetObjectFromObj (Tcl_Interp * interp,
				Tcl_Obj * objPtr);
#endif
#ifndef Tcl_GetObjectNamespace_TCL_DECLARED
#define Tcl_GetObjectNamespace_TCL_DECLARED
/* 5 */
EXTERN Tcl_Namespace *	Tcl_GetObjectNamespace (Tcl_Object object);
#endif
#ifndef Tcl_MethodDeclarerClass_TCL_DECLARED
#define Tcl_MethodDeclarerClass_TCL_DECLARED
/* 6 */
EXTERN Tcl_Class	Tcl_MethodDeclarerClass (Tcl_Method method);
#endif
#ifndef Tcl_MethodDeclarerObject_TCL_DECLARED
#define Tcl_MethodDeclarerObject_TCL_DECLARED
/* 7 */
EXTERN Tcl_Object	Tcl_MethodDeclarerObject (Tcl_Method method);
#endif
#ifndef Tcl_MethodIsPublic_TCL_DECLARED
#define Tcl_MethodIsPublic_TCL_DECLARED
/* 8 */
EXTERN int		Tcl_MethodIsPublic (Tcl_Method method);
#endif
#ifndef Tcl_MethodIsType_TCL_DECLARED
#define Tcl_MethodIsType_TCL_DECLARED
/* 9 */
EXTERN int		Tcl_MethodIsType (Tcl_Method method,
				const Tcl_MethodType * typePtr,
				ClientData * clientDataPtr);
#endif
#ifndef Tcl_MethodName_TCL_DECLARED
#define Tcl_MethodName_TCL_DECLARED
/* 10 */
EXTERN Tcl_Obj *	Tcl_MethodName (Tcl_Method method);
#endif
#ifndef Tcl_NewInstanceMethod_TCL_DECLARED
#define Tcl_NewInstanceMethod_TCL_DECLARED
/* 11 */
EXTERN Tcl_Method	Tcl_NewInstanceMethod (Tcl_Interp * interp,
				Tcl_Object object, Tcl_Obj * nameObj,
				int isPublic, const Tcl_MethodType * typePtr,
				ClientData clientData);
#endif
#ifndef Tcl_NewMethod_TCL_DECLARED
#define Tcl_NewMethod_TCL_DECLARED
/* 12 */
EXTERN Tcl_Method	Tcl_NewMethod (Tcl_Interp * interp, Tcl_Class cls,
				Tcl_Obj * nameObj, int isPublic,
				const Tcl_MethodType * typePtr,
				ClientData clientData);
#endif
#ifndef Tcl_NewObjectInstance_TCL_DECLARED
#define Tcl_NewObjectInstance_TCL_DECLARED
/* 13 */
EXTERN Tcl_Object	Tcl_NewObjectInstance (Tcl_Interp * interp,
				Tcl_Class cls, const char * nameStr,
				const char * nsNameStr, int objc,
				Tcl_Obj *const * objv, int skip);
#endif
#ifndef Tcl_ObjectDeleted_TCL_DECLARED
#define Tcl_ObjectDeleted_TCL_DECLARED
/* 14 */
EXTERN int		Tcl_ObjectDeleted (Tcl_Object object);
#endif
#ifndef Tcl_ObjectContextIsFiltering_TCL_DECLARED
#define Tcl_ObjectContextIsFiltering_TCL_DECLARED
/* 15 */
EXTERN int		Tcl_ObjectContextIsFiltering (
				Tcl_ObjectContext context);
#endif
#ifndef Tcl_ObjectContextMethod_TCL_DECLARED
#define Tcl_ObjectContextMethod_TCL_DECLARED
/* 16 */
EXTERN Tcl_Method	Tcl_ObjectContextMethod (Tcl_ObjectContext context);
#endif
#ifndef Tcl_ObjectContextObject_TCL_DECLARED
#define Tcl_ObjectContextObject_TCL_DECLARED
/* 17 */
EXTERN Tcl_Object	Tcl_ObjectContextObject (Tcl_ObjectContext context);
#endif
#ifndef Tcl_ObjectContextSkippedArgs_TCL_DECLARED
#define Tcl_ObjectContextSkippedArgs_TCL_DECLARED
/* 18 */
EXTERN int		Tcl_ObjectContextSkippedArgs (
				Tcl_ObjectContext context);
#endif
#ifndef Tcl_ClassGetMetadata_TCL_DECLARED
#define Tcl_ClassGetMetadata_TCL_DECLARED
/* 19 */
EXTERN ClientData	Tcl_ClassGetMetadata (Tcl_Class clazz,
				const Tcl_ObjectMetadataType * typePtr);
#endif
#ifndef Tcl_ClassSetMetadata_TCL_DECLARED
#define Tcl_ClassSetMetadata_TCL_DECLARED
/* 20 */
EXTERN void		Tcl_ClassSetMetadata (Tcl_Class clazz,
				const Tcl_ObjectMetadataType * typePtr,
				ClientData metadata);
#endif
#ifndef Tcl_ObjectGetMetadata_TCL_DECLARED
#define Tcl_ObjectGetMetadata_TCL_DECLARED
/* 21 */
EXTERN ClientData	Tcl_ObjectGetMetadata (Tcl_Object object,
				const Tcl_ObjectMetadataType * typePtr);
#endif
#ifndef Tcl_ObjectSetMetadata_TCL_DECLARED
#define Tcl_ObjectSetMetadata_TCL_DECLARED
/* 22 */
EXTERN void		Tcl_ObjectSetMetadata (Tcl_Object object,
				const Tcl_ObjectMetadataType * typePtr,
				ClientData metadata);
#endif
#ifndef Tcl_ObjectContextInvokeNext_TCL_DECLARED
#define Tcl_ObjectContextInvokeNext_TCL_DECLARED
/* 23 */
EXTERN int		Tcl_ObjectContextInvokeNext (Tcl_Interp * interp,
				Tcl_ObjectContext context, int objc,
				Tcl_Obj *const * objv, int skip);
#endif
#ifndef Tcl_ObjectGetMethodNameMapper_TCL_DECLARED
#define Tcl_ObjectGetMethodNameMapper_TCL_DECLARED
/* 24 */
EXTERN Tcl_ObjectMapMethodNameProc Tcl_ObjectGetMethodNameMapper (
				Tcl_Object object);
#endif
#ifndef Tcl_ObjectSetMethodNameMapper_TCL_DECLARED
#define Tcl_ObjectSetMethodNameMapper_TCL_DECLARED
/* 25 */
EXTERN void		Tcl_ObjectSetMethodNameMapper (Tcl_Object object,
				Tcl_ObjectMapMethodNameProc mapMethodNameProc);
#endif
#ifndef Tcl_ClassSetConstructor_TCL_DECLARED
#define Tcl_ClassSetConstructor_TCL_DECLARED
/* 26 */
EXTERN void		Tcl_ClassSetConstructor (Tcl_Interp * interp,
				Tcl_Class clazz, Tcl_Method method);
#endif
#ifndef Tcl_ClassSetDestructor_TCL_DECLARED
#define Tcl_ClassSetDestructor_TCL_DECLARED
/* 27 */
EXTERN void		Tcl_ClassSetDestructor (Tcl_Interp * interp,
				Tcl_Class clazz, Tcl_Method method);
#endif

typedef struct TclOOStubHooks {
    const struct TclOOIntStubs *tclOOIntStubs;
} TclOOStubHooks;

typedef struct TclOOStubs {
    int magic;
    const struct TclOOStubHooks *hooks;

    Tcl_Object (*tcl_CopyObjectInstance) (Tcl_Interp * interp, Tcl_Object sourceObject, const char * targetName, const char * targetNamespaceName); /* 0 */
    Tcl_Object (*tcl_GetClassAsObject) (Tcl_Class clazz); /* 1 */
    Tcl_Class (*tcl_GetObjectAsClass) (Tcl_Object object); /* 2 */
    Tcl_Command (*tcl_GetObjectCommand) (Tcl_Object object); /* 3 */
    Tcl_Object (*tcl_GetObjectFromObj) (Tcl_Interp * interp, Tcl_Obj * objPtr); /* 4 */
    Tcl_Namespace * (*tcl_GetObjectNamespace) (Tcl_Object object); /* 5 */
    Tcl_Class (*tcl_MethodDeclarerClass) (Tcl_Method method); /* 6 */
    Tcl_Object (*tcl_MethodDeclarerObject) (Tcl_Method method); /* 7 */
    int (*tcl_MethodIsPublic) (Tcl_Method method); /* 8 */
    int (*tcl_MethodIsType) (Tcl_Method method, const Tcl_MethodType * typePtr, ClientData * clientDataPtr); /* 9 */
    Tcl_Obj * (*tcl_MethodName) (Tcl_Method method); /* 10 */
    Tcl_Method (*tcl_NewInstanceMethod) (Tcl_Interp * interp, Tcl_Object object, Tcl_Obj * nameObj, int isPublic, const Tcl_MethodType * typePtr, ClientData clientData); /* 11 */
    Tcl_Method (*tcl_NewMethod) (Tcl_Interp * interp, Tcl_Class cls, Tcl_Obj * nameObj, int isPublic, const Tcl_MethodType * typePtr, ClientData clientData); /* 12 */
    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 */
    int (*tcl_ObjectDeleted) (Tcl_Object object); /* 14 */
    int (*tcl_ObjectContextIsFiltering) (Tcl_ObjectContext context); /* 15 */
    Tcl_Method (*tcl_ObjectContextMethod) (Tcl_ObjectContext context); /* 16 */
    Tcl_Object (*tcl_ObjectContextObject) (Tcl_ObjectContext context); /* 17 */
    int (*tcl_ObjectContextSkippedArgs) (Tcl_ObjectContext context); /* 18 */
    ClientData (*tcl_ClassGetMetadata) (Tcl_Class clazz, const Tcl_ObjectMetadataType * typePtr); /* 19 */
    void (*tcl_ClassSetMetadata) (Tcl_Class clazz, const Tcl_ObjectMetadataType * typePtr, ClientData metadata); /* 20 */
    ClientData (*tcl_ObjectGetMetadata) (Tcl_Object object, const Tcl_ObjectMetadataType * typePtr); /* 21 */
    void (*tcl_ObjectSetMetadata) (Tcl_Object object, const Tcl_ObjectMetadataType * typePtr, ClientData metadata); /* 22 */
    int (*tcl_ObjectContextInvokeNext) (Tcl_Interp * interp, Tcl_ObjectContext context, int objc, Tcl_Obj *const * objv, int skip); /* 23 */
    Tcl_ObjectMapMethodNameProc (*tcl_ObjectGetMethodNameMapper) (Tcl_Object object); /* 24 */
    void (*tcl_ObjectSetMethodNameMapper) (Tcl_Object object, Tcl_ObjectMapMethodNameProc mapMethodNameProc); /* 25 */
    void (*tcl_ClassSetConstructor) (Tcl_Interp * interp, Tcl_Class clazz, Tcl_Method method); /* 26 */
    void (*tcl_ClassSetDestructor) (Tcl_Interp * interp, Tcl_Class clazz, Tcl_Method method); /* 27 */
} TclOOStubs;

#if defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS)
extern const TclOOStubs *tclOOStubsPtr;
#endif /* defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS) */

#if defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS)

/*
 * Inline function declarations:
 */

#ifndef Tcl_CopyObjectInstance
#define Tcl_CopyObjectInstance \
	(tclOOStubsPtr->tcl_CopyObjectInstance) /* 0 */
#endif
#ifndef Tcl_GetClassAsObject
#define Tcl_GetClassAsObject \
	(tclOOStubsPtr->tcl_GetClassAsObject) /* 1 */
#endif
#ifndef Tcl_GetObjectAsClass
#define Tcl_GetObjectAsClass \
	(tclOOStubsPtr->tcl_GetObjectAsClass) /* 2 */
#endif
#ifndef Tcl_GetObjectCommand
#define Tcl_GetObjectCommand \
	(tclOOStubsPtr->tcl_GetObjectCommand) /* 3 */
#endif
#ifndef Tcl_GetObjectFromObj
#define Tcl_GetObjectFromObj \
	(tclOOStubsPtr->tcl_GetObjectFromObj) /* 4 */
#endif
#ifndef Tcl_GetObjectNamespace
#define Tcl_GetObjectNamespace \
	(tclOOStubsPtr->tcl_GetObjectNamespace) /* 5 */
#endif
#ifndef Tcl_MethodDeclarerClass
#define Tcl_MethodDeclarerClass \
	(tclOOStubsPtr->tcl_MethodDeclarerClass) /* 6 */
#endif
#ifndef Tcl_MethodDeclarerObject
#define Tcl_MethodDeclarerObject \
	(tclOOStubsPtr->tcl_MethodDeclarerObject) /* 7 */
#endif
#ifndef Tcl_MethodIsPublic
#define Tcl_MethodIsPublic \
	(tclOOStubsPtr->tcl_MethodIsPublic) /* 8 */
#endif
#ifndef Tcl_MethodIsType
#define Tcl_MethodIsType \
	(tclOOStubsPtr->tcl_MethodIsType) /* 9 */
#endif
#ifndef Tcl_MethodName
#define Tcl_MethodName \
	(tclOOStubsPtr->tcl_MethodName) /* 10 */
#endif
#ifndef Tcl_NewInstanceMethod
#define Tcl_NewInstanceMethod \
	(tclOOStubsPtr->tcl_NewInstanceMethod) /* 11 */
#endif
#ifndef Tcl_NewMethod
#define Tcl_NewMethod \
	(tclOOStubsPtr->tcl_NewMethod) /* 12 */
#endif
#ifndef Tcl_NewObjectInstance
#define Tcl_NewObjectInstance \
	(tclOOStubsPtr->tcl_NewObjectInstance) /* 13 */
#endif
#ifndef Tcl_ObjectDeleted
#define Tcl_ObjectDeleted \
	(tclOOStubsPtr->tcl_ObjectDeleted) /* 14 */
#endif
#ifndef Tcl_ObjectContextIsFiltering
#define Tcl_ObjectContextIsFiltering \
	(tclOOStubsPtr->tcl_ObjectContextIsFiltering) /* 15 */
#endif
#ifndef Tcl_ObjectContextMethod
#define Tcl_ObjectContextMethod \
	(tclOOStubsPtr->tcl_ObjectContextMethod) /* 16 */
#endif
#ifndef Tcl_ObjectContextObject
#define Tcl_ObjectContextObject \
	(tclOOStubsPtr->tcl_ObjectContextObject) /* 17 */
#endif
#ifndef Tcl_ObjectContextSkippedArgs
#define Tcl_ObjectContextSkippedArgs \
	(tclOOStubsPtr->tcl_ObjectContextSkippedArgs) /* 18 */
#endif
#ifndef Tcl_ClassGetMetadata
#define Tcl_ClassGetMetadata \
	(tclOOStubsPtr->tcl_ClassGetMetadata) /* 19 */
#endif
#ifndef Tcl_ClassSetMetadata
#define Tcl_ClassSetMetadata \
	(tclOOStubsPtr->tcl_ClassSetMetadata) /* 20 */
#endif
#ifndef Tcl_ObjectGetMetadata
#define Tcl_ObjectGetMetadata \
	(tclOOStubsPtr->tcl_ObjectGetMetadata) /* 21 */
#endif
#ifndef Tcl_ObjectSetMetadata
#define Tcl_ObjectSetMetadata \
	(tclOOStubsPtr->tcl_ObjectSetMetadata) /* 22 */
#endif
#ifndef Tcl_ObjectContextInvokeNext
#define Tcl_ObjectContextInvokeNext \
	(tclOOStubsPtr->tcl_ObjectContextInvokeNext) /* 23 */
#endif
#ifndef Tcl_ObjectGetMethodNameMapper
#define Tcl_ObjectGetMethodNameMapper \
	(tclOOStubsPtr->tcl_ObjectGetMethodNameMapper) /* 24 */
#endif
#ifndef Tcl_ObjectSetMethodNameMapper
#define Tcl_ObjectSetMethodNameMapper \
	(tclOOStubsPtr->tcl_ObjectSetMethodNameMapper) /* 25 */
#endif
#ifndef Tcl_ClassSetConstructor
#define Tcl_ClassSetConstructor \
	(tclOOStubsPtr->tcl_ClassSetConstructor) /* 26 */
#endif
#ifndef Tcl_ClassSetDestructor
#define Tcl_ClassSetDestructor \
	(tclOOStubsPtr->tcl_ClassSetDestructor) /* 27 */
#endif

#endif /* defined(USE_TCLOO_STUBS) && !defined(USE_TCLOO_STUB_PROCS) */

/* !END!: Do not edit above this line. */

#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT

#endif /* _TCLOODECLS */