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