2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
6 #define ALIB_NO_INLINE_STDARG
8 #include <aros/debug.h>
9 #include <intuition/classes.h>
10 #include <proto/alib.h>
11 #include "alib_intern.h"
13 /******************************************************************************
16 #include <intuition/classusr.h>
17 #include <proto/intuition.h>
27 Invokes a method on a BOOPSI object, as if this was a object, inherited
28 from the class passed in. Ie the dispatcher of the this class is called
29 instead of the objects classes dispatcher.
32 cl - Class, which dispatcher is to be called.
33 obj - The object, on which the method is to be performed on.
34 message - The message. The first field is the same for all methods and
35 specifies which method is to be invokes (see
36 <intuition/classusr.h>).
39 Class and method depending. See the class documentation. A value of 0
40 can mean a valid return code but can also mean that a method was not
51 ******************************************************************************/
53 ASSERT_VALID_PTR(obj
);
59 ASSERT_VALID_PTR(message
);
61 return CALLHOOKPKT((struct Hook
*) cl
, obj
, message
);
62 } /* CoerceMethodA() */
64 IPTR
CoerceMethod (Class
* cl
, Object
* obj
, IPTR MethodID
, ...)
66 ASSERT_VALID_PTR(obj
);
72 AROS_SLOWSTACKMETHODS_PRE(MethodID
)
73 retval
= CALLHOOKPKT((struct Hook
*) cl
, obj
, AROS_SLOWSTACKMETHODS_ARG(MethodID
));
74 AROS_SLOWSTACKMETHODS_POST
75 } /* CoerceMethod() */