add a -quick target for -create-patch
[AROS.git] / workbench / libs / muimaster / customclasses.h
blob7698ed6f74bf4d8c94bf5acd1c4e0a68df6d6643
1 #ifndef ZUNE_CUSTOMCLASSES_H
2 #define ZUNE_CUSTOMCLASSES_H
4 #include <proto/muimaster.h>
5 #include <dos/dos.h>
6 #include <aros/symbolsets.h>
7 #include <aros/autoinit.h>
8 #include <aros/debug.h>
10 #ifndef ZUNE_CUSTOMCLASS_PASS
11 #define ZUNE_CUSTOMCLASS_PASS 100
12 #endif
14 #define __ZUNE_CUSTOMCLASS_START(name) \
15 BOOPSI_DISPATCHER_PROTO(IPTR, name ## _Dispatcher, __class, __self, __msg); \
16 BOOPSI_DISPATCHER(IPTR, name ## _Dispatcher, __class, __self, __msg) \
17 { \
18 switch (__msg->MethodID) \
19 { \
21 #define __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
22 default: \
23 return DoSuperMethodA(__class, __self, __msg); \
24 } \
26 return (IPTR) NULL; \
27 } \
28 BOOPSI_DISPATCHER_END \
30 struct MUI_CustomClass * name ## _CLASS; \
32 int name ## _Initialize(void); \
33 int name ## _Initialize(void) \
34 { \
35 name ## _CLASS = MUI_CreateCustomClass \
36 ( \
37 base, parent_name, parent_class, \
38 sizeof(struct name ## _DATA), (APTR) name ## _Dispatcher \
39 ); \
41 if (!name ## _CLASS) \
42 { \
43 __showerror \
44 ( (char *) \
45 "Could not create Zune custom class `" #name "'.", NULL \
46 ); \
48 return 0; \
49 } \
51 return 1; \
52 } \
54 void name ## _Deinitialize(void); \
55 void name ## _Deinitialize(void) \
56 { \
57 MUI_DeleteCustomClass(name ## _CLASS); \
58 } \
60 ADD2INIT(name ## _Initialize, ZUNE_CUSTOMCLASS_PASS); \
61 ADD2EXIT(name ## _Deinitialize, ZUNE_CUSTOMCLASS_PASS); \
63 #if !defined(ZCC_QUIET)
65 #define __ZUNE_CUSTOMCLASS_METHOD(mname, mid, m_msg_type) \
66 case mid: \
68 D(bug("[ZCC] ENTERING "__AROS_STR(mname) \
69 "("__AROS_STR(m_msg_type)")\n")); \
71 return (IPTR) mname(__class, __self, (m_msg_type)__msg) \
73 #else
75 #define __ZUNE_CUSTOMCLASS_METHOD(mname, mid, m_msg_type) \
76 case mid: \
77 return (IPTR) mname(__class, __self, (m_msg_type)__msg) \
79 #endif
81 /******************************************************************/
83 #define ZUNE_CUSTOMCLASS_1(name, base, parent_name, parent_class, \
84 m1, m1_msg_type) \
85 __ZUNE_CUSTOMCLASS_START(name) \
86 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
87 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
89 #define ZUNE_CUSTOMCLASS_2(name, base, parent_name, parent_class, \
90 m1, m1_msg_type, \
91 m2, m2_msg_type) \
92 __ZUNE_CUSTOMCLASS_START(name) \
93 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
94 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
95 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
97 #define ZUNE_CUSTOMCLASS_3(name, base, parent_name, parent_class, \
98 m1, m1_msg_type, \
99 m2, m2_msg_type, \
100 m3, m3_msg_type) \
101 __ZUNE_CUSTOMCLASS_START(name) \
102 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
103 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
104 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
105 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
107 #define ZUNE_CUSTOMCLASS_4(name, base, parent_name, parent_class, \
108 m1, m1_msg_type, \
109 m2, m2_msg_type, \
110 m3, m3_msg_type, \
111 m4, m4_msg_type) \
112 __ZUNE_CUSTOMCLASS_START(name) \
113 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
114 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
115 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
116 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
117 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
119 #define ZUNE_CUSTOMCLASS_5(name, base, parent_name, parent_class, \
120 m1, m1_msg_type, \
121 m2, m2_msg_type, \
122 m3, m3_msg_type, \
123 m4, m4_msg_type, \
124 m5, m5_msg_type) \
125 __ZUNE_CUSTOMCLASS_START(name) \
126 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
127 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
128 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
129 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
130 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
131 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
133 #define ZUNE_CUSTOMCLASS_6(name, base, parent_name, parent_class, \
134 m1, m1_msg_type, \
135 m2, m2_msg_type, \
136 m3, m3_msg_type, \
137 m4, m4_msg_type, \
138 m5, m5_msg_type, \
139 m6, m6_msg_type) \
140 __ZUNE_CUSTOMCLASS_START(name) \
141 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
142 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
143 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
144 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
145 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
146 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
147 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
149 #define ZUNE_CUSTOMCLASS_7(name, base, parent_name, parent_class, \
150 m1, m1_msg_type, \
151 m2, m2_msg_type, \
152 m3, m3_msg_type, \
153 m4, m4_msg_type, \
154 m5, m5_msg_type, \
155 m6, m6_msg_type, \
156 m7, m7_msg_type) \
157 __ZUNE_CUSTOMCLASS_START(name) \
158 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
159 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
160 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
161 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
162 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
163 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
164 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m7, m7, m7_msg_type); \
165 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
167 #define ZUNE_CUSTOMCLASS_8(name, base, parent_name, parent_class, \
168 m1, m1_msg_type, \
169 m2, m2_msg_type, \
170 m3, m3_msg_type, \
171 m4, m4_msg_type, \
172 m5, m5_msg_type, \
173 m6, m6_msg_type, \
174 m7, m7_msg_type, \
175 m8, m8_msg_type) \
176 __ZUNE_CUSTOMCLASS_START(name) \
177 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
178 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
179 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
180 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
181 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
182 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
183 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m7, m7, m7_msg_type); \
184 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m8, m8, m8_msg_type); \
185 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
187 #define ZUNE_CUSTOMCLASS_9(name, base, parent_name, parent_class, \
188 m1, m1_msg_type, \
189 m2, m2_msg_type, \
190 m3, m3_msg_type, \
191 m4, m4_msg_type, \
192 m5, m5_msg_type, \
193 m6, m6_msg_type, \
194 m7, m7_msg_type, \
195 m8, m8_msg_type, \
196 m9, m9_msg_type) \
197 __ZUNE_CUSTOMCLASS_START(name) \
198 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
199 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
200 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
201 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
202 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
203 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
204 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m7, m7, m7_msg_type); \
205 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m8, m8, m8_msg_type); \
206 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m9, m9, m9_msg_type); \
207 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
209 #define ZUNE_CUSTOMCLASS_10(name, base, parent_name, parent_class, \
210 m1, m1_msg_type, \
211 m2, m2_msg_type, \
212 m3, m3_msg_type, \
213 m4, m4_msg_type, \
214 m5, m5_msg_type, \
215 m6, m6_msg_type, \
216 m7, m7_msg_type, \
217 m8, m8_msg_type, \
218 m9, m9_msg_type, \
219 m10, m10_msg_type) \
220 __ZUNE_CUSTOMCLASS_START(name) \
221 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
222 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
223 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
224 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
225 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
226 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
227 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m7, m7, m7_msg_type); \
228 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m8, m8, m8_msg_type); \
229 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m9, m9, m9_msg_type); \
230 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m10, m10, m10_msg_type); \
231 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
233 #define ZUNE_CUSTOMCLASS_11(name, base, parent_name, parent_class, \
234 m1, m1_msg_type, \
235 m2, m2_msg_type, \
236 m3, m3_msg_type, \
237 m4, m4_msg_type, \
238 m5, m5_msg_type, \
239 m6, m6_msg_type, \
240 m7, m7_msg_type, \
241 m8, m8_msg_type, \
242 m9, m9_msg_type, \
243 m10, m10_msg_type, \
244 m11, m11_msg_type) \
245 __ZUNE_CUSTOMCLASS_START(name) \
246 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
247 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
248 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
249 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
250 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
251 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
252 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m7, m7, m7_msg_type); \
253 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m8, m8, m8_msg_type); \
254 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m9, m9, m9_msg_type); \
255 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m10, m10, m10_msg_type); \
256 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m11, m11, m11_msg_type); \
257 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
259 #define ZUNE_CUSTOMCLASS_14(name, base, parent_name, parent_class, \
260 m1, m1_msg_type, \
261 m2, m2_msg_type, \
262 m3, m3_msg_type, \
263 m4, m4_msg_type, \
264 m5, m5_msg_type, \
265 m6, m6_msg_type, \
266 m7, m7_msg_type, \
267 m8, m8_msg_type, \
268 m9, m9_msg_type, \
269 m10, m10_msg_type, \
270 m11, m11_msg_type, \
271 m12, m12_msg_type, \
272 m13, m13_msg_type, \
273 m14, m14_msg_type) \
274 __ZUNE_CUSTOMCLASS_START(name) \
275 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
276 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
277 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
278 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
279 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
280 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
281 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m7, m7, m7_msg_type); \
282 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m8, m8, m8_msg_type); \
283 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m9, m9, m9_msg_type); \
284 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m10, m10, m10_msg_type); \
285 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m11, m11, m11_msg_type); \
286 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m12, m12, m12_msg_type); \
287 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m13, m13, m13_msg_type); \
288 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m14, m14, m14_msg_type); \
289 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
291 #define ZUNE_CUSTOMCLASS_17(name, base, parent_name, parent_class, \
292 m1, m1_msg_type, \
293 m2, m2_msg_type, \
294 m3, m3_msg_type, \
295 m4, m4_msg_type, \
296 m5, m5_msg_type, \
297 m6, m6_msg_type, \
298 m7, m7_msg_type, \
299 m8, m8_msg_type, \
300 m9, m9_msg_type, \
301 m10, m10_msg_type, \
302 m11, m11_msg_type, \
303 m12, m12_msg_type, \
304 m13, m13_msg_type, \
305 m14, m14_msg_type, \
306 m15, m15_msg_type, \
307 m16, m16_msg_type, \
308 m17, m17_msg_type) \
309 __ZUNE_CUSTOMCLASS_START(name) \
310 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
311 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
312 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
313 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
314 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
315 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
316 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m7, m7, m7_msg_type); \
317 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m8, m8, m8_msg_type); \
318 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m9, m9, m9_msg_type); \
319 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m10, m10, m10_msg_type); \
320 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m11, m11, m11_msg_type); \
321 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m12, m12, m12_msg_type); \
322 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m13, m13, m13_msg_type); \
323 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m14, m14, m14_msg_type); \
324 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m15, m15, m15_msg_type); \
325 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m16, m16, m16_msg_type); \
326 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m17, m17, m17_msg_type); \
327 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
329 #define ZUNE_CUSTOMCLASS_20(name, base, parent_name, parent_class, \
330 m1, m1_msg_type, \
331 m2, m2_msg_type, \
332 m3, m3_msg_type, \
333 m4, m4_msg_type, \
334 m5, m5_msg_type, \
335 m6, m6_msg_type, \
336 m7, m7_msg_type, \
337 m8, m8_msg_type, \
338 m9, m9_msg_type, \
339 m10, m10_msg_type, \
340 m11, m11_msg_type, \
341 m12, m12_msg_type, \
342 m13, m13_msg_type, \
343 m14, m14_msg_type, \
344 m15, m15_msg_type, \
345 m16, m16_msg_type, \
346 m17, m17_msg_type, \
347 m18, m18_msg_type, \
348 m19, m19_msg_type, \
349 m20, m20_msg_type) \
350 __ZUNE_CUSTOMCLASS_START(name) \
351 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
352 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
353 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
354 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
355 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
356 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
357 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m7, m7, m7_msg_type); \
358 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m8, m8, m8_msg_type); \
359 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m9, m9, m9_msg_type); \
360 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m10, m10, m10_msg_type); \
361 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m11, m11, m11_msg_type); \
362 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m12, m12, m12_msg_type); \
363 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m13, m13, m13_msg_type); \
364 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m14, m14, m14_msg_type); \
365 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m15, m15, m15_msg_type); \
366 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m16, m16, m16_msg_type); \
367 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m17, m17, m17_msg_type); \
368 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m18, m18, m18_msg_type); \
369 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m19, m19, m19_msg_type); \
370 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m20, m20, m20_msg_type); \
371 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
373 #define ZUNE_CUSTOMCLASS_21(name, base, parent_name, parent_class, \
374 m1, m1_msg_type, \
375 m2, m2_msg_type, \
376 m3, m3_msg_type, \
377 m4, m4_msg_type, \
378 m5, m5_msg_type, \
379 m6, m6_msg_type, \
380 m7, m7_msg_type, \
381 m8, m8_msg_type, \
382 m9, m9_msg_type, \
383 m10, m10_msg_type, \
384 m11, m11_msg_type, \
385 m12, m12_msg_type, \
386 m13, m13_msg_type, \
387 m14, m14_msg_type, \
388 m15, m15_msg_type, \
389 m16, m16_msg_type, \
390 m17, m17_msg_type, \
391 m18, m18_msg_type, \
392 m19, m19_msg_type, \
393 m20, m20_msg_type, \
394 m21, m21_msg_type) \
395 __ZUNE_CUSTOMCLASS_START(name) \
396 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
397 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
398 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
399 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
400 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
401 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
402 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m7, m7, m7_msg_type); \
403 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m8, m8, m8_msg_type); \
404 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m9, m9, m9_msg_type); \
405 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m10, m10, m10_msg_type); \
406 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m11, m11, m11_msg_type); \
407 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m12, m12, m12_msg_type); \
408 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m13, m13, m13_msg_type); \
409 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m14, m14, m14_msg_type); \
410 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m15, m15, m15_msg_type); \
411 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m16, m16, m16_msg_type); \
412 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m17, m17, m17_msg_type); \
413 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m18, m18, m18_msg_type); \
414 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m19, m19, m19_msg_type); \
415 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m20, m20, m20_msg_type); \
416 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m21, m21, m21_msg_type); \
417 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class) \
420 /*************************************************************************/
422 #define __ZUNE_CUSTOMCLASS_REMPARENS(...) __VA_ARGS__
424 #define __ZUNE_CUSTOMCLASS_INLINEMETHOD(cname, mname, m_msg_type, m_code) \
425 IPTR mname(Class *CLASS, Object *self, m_msg_type message); \
426 IPTR mname(Class *CLASS, Object *self, m_msg_type message) \
428 struct cname ## _DATA *data __unused = INST_DATA(CLASS, self); \
430 { __ZUNE_CUSTOMCLASS_REMPARENS m_code } \
433 #define __ZUNE_CUSTOMCLASS_INSTDATA(cname, inst_data) \
434 struct cname ## _DATA { __ZUNE_CUSTOMCLASS_REMPARENS inst_data }
436 #define ZUNE_CUSTOMCLASS_INLINE_1(name, base, parent_name, parent_class, \
437 inst_data, \
438 m1, m1_msg_type, m1_code) \
439 __ZUNE_CUSTOMCLASS_INSTDATA(name, inst_data); \
440 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m1, m1_msg_type, m1_code); \
441 __ZUNE_CUSTOMCLASS_START(name) \
442 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
443 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class)
445 #define ZUNE_CUSTOMCLASS_INLINE_2(name, base, parent_name, parent_class, \
446 inst_data, \
447 m1, m1_msg_type, m1_code, \
448 m2, m2_msg_type, m2_code) \
449 __ZUNE_CUSTOMCLASS_INSTDATA(name, inst_data); \
450 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m1, m1_msg_type, m1_code); \
451 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m2, m2_msg_type, m2_code); \
452 __ZUNE_CUSTOMCLASS_START(name) \
453 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
454 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
455 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class)
457 #define ZUNE_CUSTOMCLASS_INLINE_3(name, base, parent_name, parent_class, \
458 inst_data, \
459 m1, m1_msg_type, m1_code, \
460 m2, m2_msg_type, m2_code, \
461 m3, m3_msg_type, m3_code) \
462 __ZUNE_CUSTOMCLASS_INSTDATA(name, inst_data); \
463 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m1, m1_msg_type, m1_code); \
464 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m2, m2_msg_type, m2_code); \
465 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m3, m3_msg_type, m3_code); \
466 __ZUNE_CUSTOMCLASS_START(name) \
467 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
468 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
469 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
470 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class)
472 #define ZUNE_CUSTOMCLASS_INLINE_4(name, base, parent_name, parent_class, \
473 inst_data, \
474 m1, m1_msg_type, m1_code, \
475 m2, m2_msg_type, m2_code, \
476 m3, m3_msg_type, m3_code, \
477 m4, m4_msg_type, m4_code) \
478 __ZUNE_CUSTOMCLASS_INSTDATA(name, inst_data); \
479 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m1, m1_msg_type, m1_code); \
480 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m2, m2_msg_type, m2_code); \
481 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m3, m3_msg_type, m3_code); \
482 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m4, m4_msg_type, m4_code); \
483 __ZUNE_CUSTOMCLASS_START(name) \
484 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
485 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
486 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
487 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
488 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class)
490 #define ZUNE_CUSTOMCLASS_INLINE_5(name, base, parent_name, parent_class, \
491 inst_data, \
492 m1, m1_msg_type, m1_code, \
493 m2, m2_msg_type, m2_code, \
494 m3, m3_msg_type, m3_code, \
495 m4, m4_msg_type, m4_code, \
496 m5, m5_msg_type, m5_code) \
497 __ZUNE_CUSTOMCLASS_INSTDATA(name, inst_data); \
498 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m1, m1_msg_type, m1_code); \
499 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m2, m2_msg_type, m2_code); \
500 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m3, m3_msg_type, m3_code); \
501 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m4, m4_msg_type, m4_code); \
502 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m5, m5_msg_type, m5_code); \
503 __ZUNE_CUSTOMCLASS_START(name) \
504 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
505 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
506 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
507 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
508 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
509 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class)
511 #define ZUNE_CUSTOMCLASS_INLINE_6(name, base, parent_name, parent_class, \
512 inst_data, \
513 m1, m1_msg_type, m1_code, \
514 m2, m2_msg_type, m2_code, \
515 m3, m3_msg_type, m3_code, \
516 m4, m4_msg_type, m4_code, \
517 m5, m5_msg_type, m5_code, \
518 m6, m6_msg_type, m6_code) \
519 __ZUNE_CUSTOMCLASS_INSTDATA(name, inst_data); \
520 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m1, m1_msg_type, m1_code); \
521 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m2, m2_msg_type, m2_code); \
522 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m3, m3_msg_type, m3_code); \
523 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m4, m4_msg_type, m4_code); \
524 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m5, m5_msg_type, m5_code); \
525 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m6, m6_msg_type, m6_code); \
526 __ZUNE_CUSTOMCLASS_START(name) \
527 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
528 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
529 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
530 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
531 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
532 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
533 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class)
535 #define ZUNE_CUSTOMCLASS_INLINE_7(name, base, parent_name, parent_class, \
536 inst_data, \
537 m1, m1_msg_type, m1_code, \
538 m2, m2_msg_type, m2_code, \
539 m3, m3_msg_type, m3_code, \
540 m4, m4_msg_type, m4_code, \
541 m5, m5_msg_type, m5_code, \
542 m6, m6_msg_type, m6_code, \
543 m7, m7_msg_type, m7_code) \
544 __ZUNE_CUSTOMCLASS_INSTDATA(name, inst_data); \
545 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m1, m1_msg_type, m1_code); \
546 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m2, m2_msg_type, m2_code); \
547 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m3, m3_msg_type, m3_code); \
548 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m4, m4_msg_type, m4_code); \
549 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m5, m5_msg_type, m5_code); \
550 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m6, m6_msg_type, m6_code); \
551 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m7, m7_msg_type, m7_code); \
552 __ZUNE_CUSTOMCLASS_START(name) \
553 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
554 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
555 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
556 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
557 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
558 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
559 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m7, m7, m7_msg_type); \
560 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class)
562 #define ZUNE_CUSTOMCLASS_INLINE_8(name, base, parent_name, parent_class, \
563 inst_data, \
564 m1, m1_msg_type, m1_code, \
565 m2, m2_msg_type, m2_code, \
566 m3, m3_msg_type, m3_code, \
567 m4, m4_msg_type, m4_code, \
568 m5, m5_msg_type, m5_code, \
569 m6, m6_msg_type, m6_code, \
570 m7, m7_msg_type, m7_code, \
571 m8, m8_msg_type, m8_code) \
572 __ZUNE_CUSTOMCLASS_INSTDATA(name, inst_data); \
573 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m1, m1_msg_type, m1_code); \
574 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m2, m2_msg_type, m2_code); \
575 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m3, m3_msg_type, m3_code); \
576 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m4, m4_msg_type, m4_code); \
577 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m5, m5_msg_type, m5_code); \
578 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m6, m6_msg_type, m6_code); \
579 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m7, m7_msg_type, m7_code); \
580 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m8, m8_msg_type, m8_code); \
581 __ZUNE_CUSTOMCLASS_START(name) \
582 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
583 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
584 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
585 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
586 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
587 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
588 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m7, m7, m7_msg_type); \
589 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m8, m8, m8_msg_type); \
590 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class)
592 #define ZUNE_CUSTOMCLASS_INLINE_9(name, base, parent_name, parent_class, \
593 inst_data, \
594 m1, m1_msg_type, m1_code, \
595 m2, m2_msg_type, m2_code, \
596 m3, m3_msg_type, m3_code, \
597 m4, m4_msg_type, m4_code, \
598 m5, m5_msg_type, m5_code, \
599 m6, m6_msg_type, m6_code, \
600 m7, m7_msg_type, m7_code, \
601 m8, m8_msg_type, m8_code, \
602 m9, m9_msg_type, m9_code) \
603 __ZUNE_CUSTOMCLASS_INSTDATA(name, inst_data); \
604 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m1, m1_msg_type, m1_code); \
605 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m2, m2_msg_type, m2_code); \
606 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m3, m3_msg_type, m3_code); \
607 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m4, m4_msg_type, m4_code); \
608 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m5, m5_msg_type, m5_code); \
609 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m6, m6_msg_type, m6_code); \
610 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m7, m7_msg_type, m7_code); \
611 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m8, m8_msg_type, m8_code); \
612 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m9, m9_msg_type, m9_code); \
613 __ZUNE_CUSTOMCLASS_START(name) \
614 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
615 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
616 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
617 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
618 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
619 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
620 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m7, m7, m7_msg_type); \
621 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m8, m8, m8_msg_type); \
622 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m9, m9, m9_msg_type); \
623 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class)
625 #define ZUNE_CUSTOMCLASS_INLINE_10(name, base, parent_name, parent_class, \
626 inst_data, \
627 m1, m1_msg_type, m1_code, \
628 m2, m2_msg_type, m2_code, \
629 m3, m3_msg_type, m3_code, \
630 m4, m4_msg_type, m4_code, \
631 m5, m5_msg_type, m5_code, \
632 m6, m6_msg_type, m6_code, \
633 m7, m7_msg_type, m7_code, \
634 m8, m8_msg_type, m8_code, \
635 m9, m9_msg_type, m9_code, \
636 m10, m10_msg_type, m10_code) \
637 __ZUNE_CUSTOMCLASS_INSTDATA(name, inst_data); \
638 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m1, m1_msg_type, m1_code); \
639 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m2, m2_msg_type, m2_code); \
640 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m3, m3_msg_type, m3_code); \
641 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m4, m4_msg_type, m4_code); \
642 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m5, m5_msg_type, m5_code); \
643 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m6, m6_msg_type, m6_code); \
644 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m7, m7_msg_type, m7_code); \
645 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m8, m8_msg_type, m8_code); \
646 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m9, m9_msg_type, m9_code); \
647 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m10, m10_msg_type, m10_code); \
648 __ZUNE_CUSTOMCLASS_START(name) \
649 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
650 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
651 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
652 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
653 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
654 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
655 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m7, m7, m7_msg_type); \
656 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m8, m8, m8_msg_type); \
657 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m9, m9, m9_msg_type); \
658 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m10, m10, m10_msg_type); \
659 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class)
661 #define ZUNE_CUSTOMCLASS_INLINE_11(name, base, parent_name, parent_class, \
662 inst_data, \
663 m1, m1_msg_type, m1_code, \
664 m2, m2_msg_type, m2_code, \
665 m3, m3_msg_type, m3_code, \
666 m4, m4_msg_type, m4_code, \
667 m5, m5_msg_type, m5_code, \
668 m6, m6_msg_type, m6_code, \
669 m7, m7_msg_type, m7_code, \
670 m8, m8_msg_type, m8_code, \
671 m9, m9_msg_type, m9_code, \
672 m10, m10_msg_type, m10_code, \
673 m11, m11_msg_type, m11_code) \
674 __ZUNE_CUSTOMCLASS_INSTDATA(name, inst_data); \
675 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m1, m1_msg_type, m1_code); \
676 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m2, m2_msg_type, m2_code); \
677 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m3, m3_msg_type, m3_code); \
678 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m4, m4_msg_type, m4_code); \
679 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m5, m5_msg_type, m5_code); \
680 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m6, m6_msg_type, m6_code); \
681 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m7, m7_msg_type, m7_code); \
682 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m8, m8_msg_type, m8_code); \
683 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m9, m9_msg_type, m9_code); \
684 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m10, m10_msg_type, m10_code); \
685 __ZUNE_CUSTOMCLASS_INLINEMETHOD(name, name ## __ ## m11, m11_msg_type, m11_code); \
686 __ZUNE_CUSTOMCLASS_START(name) \
687 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
688 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
689 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
690 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
691 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
692 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
693 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m7, m7, m7_msg_type); \
694 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m8, m8, m8_msg_type); \
695 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m9, m9, m9_msg_type); \
696 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m10, m10, m10_msg_type); \
697 __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m11, m11, m11_msg_type); \
698 __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class)
700 #endif /* !ZUNE_CUSTOMCLASSES_H */